From 6f8069b0a2235946588dc4965cf5962ae30e36fe Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 12:19:24 +0000 Subject: [PATCH 1/2] update action dockerfile --- .github/Dockerfile | 59 +++++++++++++++++++++++ .github/workflows/build_dockerhub_img.yml | 1 + 2 files changed, 60 insertions(+) create mode 100644 .github/Dockerfile diff --git a/.github/Dockerfile b/.github/Dockerfile new file mode 100644 index 00000000..5ebb832d --- /dev/null +++ b/.github/Dockerfile @@ -0,0 +1,59 @@ +FROM amd64/node AS node-builder + +LABEL maintainer="mingcheng" + +COPY . /answer +WORKDIR /answer +RUN make install-ui-packages ui && mv ui/build /tmp + +# stage2 build the main binary within static resource +FROM golang:1.19-alpine AS golang-builder +LABEL maintainer="aichy@sf.com" + +ARG GOPROXY +ENV GOPROXY=https://goproxy.cn,direct + +ENV GOPATH /go +ENV GOROOT /usr/local/go +ENV PACKAGE github.com/answerdev/answer +ENV BUILD_DIR ${GOPATH}/src/${PACKAGE} + +ARG TAGS="sqlite sqlite_unlock_notify" +ENV TAGS "bindata timetzdata $TAGS" +ARG CGO_EXTRA_CFLAGS + +COPY . ${BUILD_DIR} +WORKDIR ${BUILD_DIR} +COPY --from=node-builder /tmp/build ${BUILD_DIR}/ui/build +RUN apk --no-cache add build-base git \ + && make clean build \ + && cp answer /usr/bin/answer + +RUN mkdir -p /data/uploads && chmod 777 /data/uploads \ + && mkdir -p /data/i18n && cp -r i18n/*.yaml /data/i18n + +# stage3 copy the binary and resource files into fresh container +FROM alpine +LABEL maintainer="maintainers@sf.com" + +ENV TZ "Asia/Shanghai" +RUN apk update \ + && apk --no-cache add \ + bash \ + ca-certificates \ + curl \ + dumb-init \ + gettext \ + openssh \ + sqlite \ + gnupg \ + && echo "Asia/Shanghai" > /etc/timezone + +COPY --from=golang-builder /usr/bin/answer /usr/bin/answer +COPY --from=golang-builder /data /data +COPY /script/entrypoint.sh /entrypoint.sh +RUN chmod 755 /entrypoint.sh + +VOLUME /data +EXPOSE 80 +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 5f4d6849..e28a4c39 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -52,6 +52,7 @@ jobs: context: . platforms: linux/amd64,linux/arm64 push: true + file: ./.github/Dockerfile tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha From 831c72e3d1150b2b31c6f546b2797236311afc3f Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 12:31:03 +0000 Subject: [PATCH 2/2] update github action --- .github/workflows/build_dockerhub_img.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index e28a4c39..a695a216 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -39,12 +39,12 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + # - name: Login to GitHub Container Registry + # uses: docker/login-action@v2 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v4