From 2033602e623767e2095ab2c67261177bfeeb96da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?George=20Kazami=20=5B=E4=B9=94=E6=B2=BB=C2=B7=E9=A2=A8?= =?UTF-8?q?=E8=A6=8B=5D?= Date: Sat, 11 Feb 2023 17:38:22 +0000 Subject: [PATCH] Create docker-image.yml --- .github/workflows/docker-image.yml | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/docker-image.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..1ad9f6a --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,59 @@ +name: EOEFANS API Docker Image CI + +on: + push: + branches: [ "main" ] + pull_request: + types: [synchronize, closed] + branches: [ "main" ] + +env: + IMAGE_REGISTRY: "containers.vlink.dev" + DOCKERFILE_PATH: "/builder/api/Dockerfile" + IMAGE_REPO: ${{ github.repository }} + IMAGE_NAME: "eoefans-api" +# IMAGE_TAG: "" #we get tag using the action down below + +jobs: + + build: + + runs-on: [ self-hosted, Linux ] + + steps: + - uses: actions/checkout@v3 + + - name: Get tag + id: tag + uses: dawidd6/action-get-tag@v1 + - run: | + echo "IMAGE_TAG=${{steps.tag.outputs.tag}}" >> $GITHUB_ENV + echo $IMAGE_TAG + + - name: Log in to GitHub Docker Registry + uses: docker/login-action@v2 + with: + registry: containers.vlink.dev + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build the Docker image + run: docker build . --file ${{ DOCKERFILE_PATH }} --tag ${{ IMAGE_REPO }}}/${{ IMAGE_NAME }}:${{ IAMGE_TAG }} + + - name: Build and push Docker image with version number + uses: docker/build-push-action@v4 + with: + push: true + tags: | + ${{ IMAGE_REPO }}}/${{ IMAGE_NAME }}:${{ IAMGE_TAG }} + + - name: Retag the image to latest tag + run: docker tag ${{ IMAGE_REPO }}}/${{ IMAGE_NAME }}:${{ IAMGE_TAG }} ${{ IMAGE_REPO }}}/${{ IMAGE_NAME }}:latest + + + - name: Build and push Docker image with latest + uses: docker/build-push-action@v4 + with: + push: true + tags: | + ${{ IMAGE_REPO }}}/${{ IMAGE_NAME }}:latest