diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f667987..0943bc7 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -34,9 +34,9 @@ jobs: NAME: ${{secrets.DOCKER_HUB_USERNAME}} REPO: ${{secrets.DOCKER_HUB_REPO}} run: | - docker build --tag $REPO . - docker tag $REPO:latest $NAME/$REPO:latest - docker push $NAME/$REPO:latest + go mod init techbloghub + docker build . -t techbloghub + docker run -p 3000:3000 techbloghub deploy: runs-on: self-hosted diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index acb6b25..4ed7a2c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,8 +25,9 @@ jobs: - name: Build run: | - mkdir -p ./bin - go build -v -o ./bin/techbloghub ./... + go mod init techbloghub + docker build . -t techbloghub + docker run -p 3000:3000 techbloghub - name: Run tests run: go test ./... diff --git a/Dockerfile b/Dockerfile index 3118afe..8fcc4b8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,24 @@ -FROM golang:1.22.5-alpine +FROM golang:alpine AS builder -ENV GO111MODULE=on +ENV GO125MODULE=on \ + CGO_ENABLED=0 \ + GOOS=linux \ + GOARCH=amd64 -WORKDIR /app +WORKDIR /build + +COPY go.mod go.sum main.go ./ -COPY go.mod go.sum ./ RUN go mod download -COPY . . RUN go build -o main . -EXPOSE 8080 +WORKDIR /dist + +RUN cp /build/main . + +FROM scratch +COPY --from=builder /dist/main . -CMD ["./main"] +ENTRYPOINT ["/main"]