name: ci/cd to build and push docker image debian_runner in private registry #https://docs.docker.com/build/ci/github-actions/push-multi-registries/ #https://www.devsync.se/ci/cd/docker/2023/10/27/gitea-runner-build-docker-containers.html on: push: tags: # Be carefull, conflict with package-deb *.*.*, don't use more than on dot *.* (ex: 2.5-runner) - '*-runner' jobs: build-and-push: #! see on runner /data/.runner to add label (test => test:docker://debian:bullseye) # runs-on: test # container: debian:bullseye # runs-on: ubuntu-latest # container: node:16-bullseye runs-on: ubuntu-runner container: image: docker # container: # image: ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_RUNNER }}:latest # credentials: # username: ${{ secrets.REGISTRY_DOCKER_USER }} # password: ${{ secrets.REGISTRY_DOCKER_PASS }} steps: - name: Show Information run: echo "Runner ${{ runner.os }} working on repository ${{ gitea.repository }} and on tag ${{ gitea.ref_name }}" - name: login & clone & build & push run: | echo "${{ secrets.REGISTRY_DOCKER_PASS }}" | docker login -u ${{ secrets.REGISTRY_DOCKER_USER }} --password-stdin ${{ vars.REGISTRY_DOCKER }} git clone https://${{ secrets.REGISTRY_DOCKER_PASS }}@${{ vars.REGISTRY_DOCKER }}/${{ secrets.REGISTRY_DOCKER_USER }}/${{ vars.DOCKER_IMAGE_NAME }} cd ${{ vars.DOCKER_IMAGE_NAME }} docker buildx b . -t ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }} docker tag ${{ vars.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ gitea.ref_name }} docker tag ${{ vars.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:latest docker push ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ gitea.ref_name }} docker push ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:latest # - name: Git clone private repository # uses: actions/checkout@v4 # with: # repository: ${{ gitea.repository }} # token: ${{ secrets.REPO_PULL_GITEA }} # - name: Login to docker private registry # uses: docker/login-action@v3 # with: # registry: ${{ vars.REGISTRY_DOCKER }} # username: ${{ secrets.REGISTRY_DOCKER_USER }} # password: ${{ secrets.REGISTRY_DOCKER_PASS }} # - run: git --help # - name: Build and push image in registry # uses: docker/build-push-action@v5 # with: # context: . # push: true # tags: ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:latest,${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ gitea.ref_name }} # - name: Output # run: echo "Runner push on ${{ vars.REGISTRY_DOCKER }} image ${{ vars.DOCKER_IMAGE_NAME }} tag ${{ gitea.ref_name }}"