77 lines
3.2 KiB
YAML
77 lines
3.2 KiB
YAML
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-internal:
|
|
#! 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: clone & build
|
|
run: |
|
|
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.DOCKER_IMAGE_NAME }}
|
|
- name: login & push
|
|
run: |
|
|
echo "${{ secrets.PACKAGE_PUSH_REPO }}" | docker login -u ${{ vars.REPO_GITEA_USER }} --password-stdin ${{ vars.REGISTRY_DOCKER }}
|
|
docker images
|
|
export VERSION=$(echo "${{ gitea.ref_name }}" | cut -d '-' -f 1)
|
|
sleep 300
|
|
docker tag ${{ vars.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:$VERSION
|
|
docker tag ${{ vars.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:latest
|
|
docker push ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:$VERSION
|
|
docker push ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:latest
|
|
|
|
# docker pull gitea.jingoh.fr/staffadmin/test:0.0.1
|
|
# docker tag gitea.jingoh.fr/staffadmin/test:0.0.1 gitea.jingoh.fr/staffadmin/toto:latest
|
|
# docker push gitea.jingoh.fr/staffadmin/toto: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 }}" |