IceKhan13/purplecaffeine

API backend: CI for docker

mickahell opened this issue · 0 comments

Summary

Create the CI with GitHub to automate the build of the docker image and the push into our GitHub repo (or later DockerHub).

Example of CI :

jobs:
  docker:
    name: Build purplecaffeine
    runs-on: ubuntu-latest
    permissions:
      packages: write
      contents: read
    env:
      IMAGE_NAME: "purplecaffeine_server"
      BASEFOLDER: "api_server"
    steps:
    - uses: actions/checkout@v2
    - name: Build image
      run: |
        cd ${{env.BASEFOLDER}}
        docker build . --file docker/Dockerfile --tag ${{ env.IMAGE_NAME }}:latest
    - name: Log in to registry
      run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
    - name: Push image
      run: |
        IMAGE_ID=ghcr.io/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}
        IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
        docker tag ${{ env.IMAGE_NAME }} $IMAGE_ID:latest
        docker push $IMAGE_ID:latest

Or something similar.