From 8181d326e02fef0d61dc8f78848ce4085fcd7923 Mon Sep 17 00:00:00 2001 From: Greatness Date: Fri, 14 Apr 2023 00:24:34 +0100 Subject: [PATCH 01/17] Delete Dockerfile-release --- docker/user/Dockerfile-release | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 docker/user/Dockerfile-release diff --git a/docker/user/Dockerfile-release b/docker/user/Dockerfile-release deleted file mode 100644 index b116eee8..00000000 --- a/docker/user/Dockerfile-release +++ /dev/null @@ -1,34 +0,0 @@ -FROM golang:1.7-alpine - -COPY . /go/src/github.com/microservices-demo/user/ -WORKDIR /go/src/github.com/microservices-demo/user/ - -RUN apk update -RUN apk add git -RUN go get -v github.com/Masterminds/glide -RUN glide install && CGO_ENABLED=0 go build -a -installsuffix cgo -o /user main.go - -FROM alpine:3.4 - -ENV SERVICE_USER=myuser \ - SERVICE_UID=10001 \ - SERVICE_GROUP=mygroup \ - SERVICE_GID=10001 - -RUN addgroup -g ${SERVICE_GID} ${SERVICE_GROUP} && \ - adduser -g "${SERVICE_NAME} user" -D -H -G ${SERVICE_GROUP} -s /sbin/nologin -u ${SERVICE_UID} ${SERVICE_USER} - -ENV HATEAOS user -ENV USER_DATABASE mongodb -ENV MONGO_HOST user-db - -WORKDIR / -EXPOSE 8080 -COPY --from=0 /user / - -RUN chmod +x /user && \ - chown -R ${SERVICE_USER}:${SERVICE_GROUP} /user - -USER ${SERVICE_USER} - -CMD ["/user", "-port=8080"] From 7f4476bb50e719b3ac0ce674c9032af229537d38 Mon Sep 17 00:00:00 2001 From: Greatness Date: Sat, 15 Apr 2023 00:40:54 +0100 Subject: [PATCH 02/17] Delete main.yaml --- .github/workflows/main.yaml | 88 ------------------------------------- 1 file changed, 88 deletions(-) delete mode 100644 .github/workflows/main.yaml diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml deleted file mode 100644 index 83d8b2f5..00000000 --- a/.github/workflows/main.yaml +++ /dev/null @@ -1,88 +0,0 @@ -name: ci - -on: - push: - branches: - - "*" # run for branches - tags: - - "*" # run for tags - pull_request: - branches: - - "*" # run for branches - tags: - - "*" # run for tags - -jobs: - test: - defaults: - run: - working-directory: go/src/github.com/microservices-demo/user - runs-on: ubuntu-latest - env: - GROUP: weaveworksdemos - COMMIT: ${{ github.sha }} - REPO: user - GO_VERSION: 1.7.5 - GOPATH: /home/runner/work/user/user/go - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - path: go/src/github.com/microservices-demo/user - - - uses: actions/setup-go@v1 - with: - go-version: ${{ env.GO_VERSION }} - - - name: Setup PATH - run: echo "${GOPATH}/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: make deps && go get -v github.com/mattn/goveralls - - - name: Install/Downgrade MongoDB to version 3.6 - run: | - wget -qO - https://www.mongodb.org/static/pgp/server-3.6.asc | sudo apt-key add - - echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list - sudo apt-get update - sudo apt-get install -y --allow-downgrades mongodb-org=3.6.20 mongodb-org-server=3.6.20 mongodb-org-shell=3.6.20 mongodb-org-mongos=3.6.20 mongodb-org-tools=3.6.20 || echo "Error is misleading, it was successfully installed" - - - name: Unit Tests - run: glide novendor| xargs go test -v - - - name: Create cover profile - run: make coverprofile - - - name: Run Docker Test - run: make dockertest - - - name: Submit Coveralls - env: - COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: goveralls -coverprofile=cover.profile -service=github - - # Push to dockerhub - - name: Push user to Docker Hub - uses: docker/build-push-action@v1 - if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' - with: - username: ${{ secrets.DOCKER_USER }} - password: ${{ secrets.DOCKER_PASS }} - dockerfile: go/src/github.com/microservices-demo/user/docker/user/Dockerfile-release - path: go/src/github.com/microservices-demo/user - repository: ${{ env.GROUP }}/${{ env.REPO }} - tag_with_ref: true - tag_with_sha: true - - - name: Push user-db to Docker Hub - uses: docker/build-push-action@v1 - if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' - with: - username: ${{ secrets.DOCKER_USER }} - password: ${{ secrets.DOCKER_PASS }} - dockerfile: go/src/github.com/microservices-demo/user/docker/user-db/Dockerfile - path: go/src/github.com/microservices-demo/user/docker/user-db - repository: ${{ env.GROUP }}/${{ env.REPO }} - tag_with_ref: true - tag_with_sha: true From bcd17e1daca7eed68a972ce7951ee36b4ae33f5e Mon Sep 17 00:00:00 2001 From: Greatness Date: Sat, 15 Apr 2023 00:41:26 +0100 Subject: [PATCH 03/17] Create deploy.yml --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1 @@ + From eb9e446aa708e285da794cb40c80551ae8037ba8 Mon Sep 17 00:00:00 2001 From: Greatness Date: Sat, 15 Apr 2023 01:41:18 +0100 Subject: [PATCH 04/17] Update deploy.yml --- .github/workflows/deploy.yml | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8b137891..9cbff9b5 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1 +1,33 @@ - +name: push go app +on: + push: + branches: + - master +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@master + - name: setup go + uses: actions/setup-go@v3 + with: + go-version: 1.19 + - name: check go version + run: go version + - name: go mod init + run: go mod init github.com/thedevopsschool/user-service + - name: go mod tidy + run: go mod tidy + - name: go build + run: go build -o user-service + + - name: Build and Push Docker Image + uses: mr-smithers-excellent/docker-build-push@v4 + with: + image: thedevopsschool/user-service + registry: docker.io + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + From daa803ec843a08f528505aa170adfda5959f6e10 Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:00:53 +0100 Subject: [PATCH 05/17] update dockerfile Co-authored-by: bobiesco Co-authored-by: Okorie GoodGod --- Dockerfile | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8c331cba..c1cd0f5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,9 @@ -FROM golang:1.7-alpine -ENV sourcesdir /go/src/github.com/microservices-demo/user/ -ENV MONGO_HOST mytestdb:27017 -ENV HATEAOS user -ENV USER_DATABASE mongodb +From alpinelinux/golang -COPY . ${sourcesdir} -RUN apk update -RUN apk add git -RUN go get -v github.com/Masterminds/glide && cd ${sourcesdir} && glide install && go install +WORKDIR /app +COPY . /app +RUN go mod init github.com/thedevopsschool/user-service +RUN go mod tidy +RUN go build . +CMD ["/app/user-service"] -ENTRYPOINT user -EXPOSE 8084 From fbe94ede7f86689151b66dd61195df3fed36a3cc Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:11:56 +0100 Subject: [PATCH 06/17] remove init from dockerfile --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c1cd0f5d..b6caeebd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,6 @@ From alpinelinux/golang WORKDIR /app COPY . /app -RUN go mod init github.com/thedevopsschool/user-service RUN go mod tidy RUN go build . CMD ["/app/user-service"] From 562ae781ce376f7dbdc9ed75bb33b2e24417ff8a Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:20:23 +0100 Subject: [PATCH 07/17] add sudo go mod --- Dockerfile | 2 +- doesntexist | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 doesntexist diff --git a/Dockerfile b/Dockerfile index b6caeebd..7dd1248a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ From alpinelinux/golang WORKDIR /app COPY . /app -RUN go mod tidy +RUN sudo go mod tidy RUN go build . CMD ["/app/user-service"] diff --git a/doesntexist b/doesntexist new file mode 100644 index 00000000..8c331cba --- /dev/null +++ b/doesntexist @@ -0,0 +1,13 @@ +FROM golang:1.7-alpine +ENV sourcesdir /go/src/github.com/microservices-demo/user/ +ENV MONGO_HOST mytestdb:27017 +ENV HATEAOS user +ENV USER_DATABASE mongodb + +COPY . ${sourcesdir} +RUN apk update +RUN apk add git +RUN go get -v github.com/Masterminds/glide && cd ${sourcesdir} && glide install && go install + +ENTRYPOINT user +EXPOSE 8084 From 1c41221c949f388bdbab70432a91c49e7c3e2f60 Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:30:03 +0100 Subject: [PATCH 08/17] add an ls command to dockerfile --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 7dd1248a..fd9a32e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ From alpinelinux/golang WORKDIR /app COPY . /app +RUN ls -l | grep go.mod RUN sudo go mod tidy RUN go build . CMD ["/app/user-service"] From 815f1d503b38a82450309ff871c1419038b9a5af Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:34:37 +0100 Subject: [PATCH 09/17] wip --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index fd9a32e8..d1617601 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,8 @@ From alpinelinux/golang WORKDIR /app COPY . /app -RUN ls -l | grep go.mod -RUN sudo go mod tidy +RUN chmod 777 go.mod +RUN go mod tidy RUN go build . CMD ["/app/user-service"] From a8ab2eb9d3d5c759d6279c888a4e40fb994ff9a6 Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:48:05 +0100 Subject: [PATCH 10/17] wip --- .github/workflows/deploy.yml | 2 ++ Dockerfile | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 9cbff9b5..5f1a41dd 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,6 +21,8 @@ jobs: run: go mod tidy - name: go build run: go build -o user-service + - name: remove go mod init + run: rm go.mod - name: Build and Push Docker Image uses: mr-smithers-excellent/docker-build-push@v4 diff --git a/Dockerfile b/Dockerfile index d1617601..c1cd0f5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ From alpinelinux/golang WORKDIR /app COPY . /app -RUN chmod 777 go.mod +RUN go mod init github.com/thedevopsschool/user-service RUN go mod tidy RUN go build . CMD ["/app/user-service"] From 007ce2f4bf136c15164825f80d77243077f309ad Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:50:22 +0100 Subject: [PATCH 11/17] wip --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index c1cd0f5d..ccc80f7b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ From alpinelinux/golang WORKDIR /app COPY . /app +RUN whoami RUN go mod init github.com/thedevopsschool/user-service RUN go mod tidy RUN go build . From 0b89c8d94f843bca076940a34c9d352bb433f09f Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:52:46 +0100 Subject: [PATCH 12/17] wip --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ccc80f7b..5e3259c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,8 @@ From alpinelinux/golang WORKDIR /app COPY . /app RUN whoami -RUN go mod init github.com/thedevopsschool/user-service +RUN go mod init github.com/thedevopsschool/user-service\ +RUN chown build go.mod RUN go mod tidy RUN go build . CMD ["/app/user-service"] From 94e34451813acfbe224f614f46c54c34d063476c Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:54:31 +0100 Subject: [PATCH 13/17] wip --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5e3259c1..3dce800b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ From alpinelinux/golang WORKDIR /app COPY . /app RUN whoami -RUN go mod init github.com/thedevopsschool/user-service\ +RUN go mod init github.com/thedevopsschool/user-service RUN chown build go.mod RUN go mod tidy RUN go build . From bde964fecb98051864bd9221a06dbf752e4e2b5b Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 01:58:39 +0100 Subject: [PATCH 14/17] wip --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3dce800b..efceee71 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,8 @@ From alpinelinux/golang WORKDIR /app COPY . /app RUN whoami +RUN chown -R go:build ../app RUN go mod init github.com/thedevopsschool/user-service -RUN chown build go.mod RUN go mod tidy RUN go build . CMD ["/app/user-service"] From 8a9d913922a95c844a40c18299bd5df33fdd5c6c Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 02:00:36 +0100 Subject: [PATCH 15/17] wip --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index efceee71..4b918ea4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ From alpinelinux/golang WORKDIR /app COPY . /app RUN whoami -RUN chown -R go:build ../app +RUN chown -R build ../app RUN go mod init github.com/thedevopsschool/user-service RUN go mod tidy RUN go build . From 028c791eccef9b635c9a0386ce33e91ef9d2b17f Mon Sep 17 00:00:00 2001 From: Greatness Date: Wed, 19 Apr 2023 02:04:38 +0100 Subject: [PATCH 16/17] wip --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4b918ea4..6052ffe7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,9 @@ -From alpinelinux/golang +From golang:1.19-alpine WORKDIR /app COPY . /app RUN whoami -RUN chown -R build ../app + RUN go mod init github.com/thedevopsschool/user-service RUN go mod tidy RUN go build . From d738072974cfc8415ff76fbe1a14a96a7bc0b68f Mon Sep 17 00:00:00 2001 From: bobiesco <120151683+bobiesco@users.noreply.github.com> Date: Wed, 19 Apr 2023 12:03:36 -0500 Subject: [PATCH 17/17] Update deploy.yml # init --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5f1a41dd..cd28ce09 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,8 +21,8 @@ jobs: run: go mod tidy - name: go build run: go build -o user-service - - name: remove go mod init - run: rm go.mod + # - name: remove go mod init + # run: rm go.mod - name: Build and Push Docker Image uses: mr-smithers-excellent/docker-build-push@v4