API backend: CI for docker
mickahell opened this issue · 0 comments
mickahell commented
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.