Files
gitea-runner/.gitea/workflows/build_ci.yml
2023-11-19 13:53:13 +01:00

70 lines
2.8 KiB
YAML

name: ci/cd to build and push docker image 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:
- '*'
jobs:
docker:
# see on runner /data/.runner to add label (test=test:docker://debian:bullseye)
# {
# "WARNING": "This file is automatically generated by act-runner. Do not edit it manually unless you know what you are doing. Removing this file will cause act runner to re-register as a new runner.",
# "id": 9,
# "uuid": "e04db9c5-f946-42cd-b214-0d68c582963a",
# "name": "runner",
# "token": "2ea869667116ea107d0607ec043b6a00fd2b96e8",
# "address": "https://gitea.jingoh.fr",
# "labels": [
# "ubuntu-latest:docker://node:16-bullseye",
# "ubuntu-22.04:docker://node:16-bullseye",
# "ubuntu-20.04:docker://node:16-bullseye",
# "ubuntu-18.04:docker://node:16-buster",
# "test:docker://debian:bullseye"
# ]
# }
runs-on: test
steps:
- name: Print version and repository
run: echo "Runner working on repository ${{ gitea.repository }} and on tag ${{ gitea.ref_name }}"
- name: Install Docker engine
run: |
apt-get update
apt-get -y install ca-certificates curl gnupg dnsutils
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
- name: Print docker images
run: docker images
- name: Git clone private repo
uses: actions/checkout@v4
with:
repository: ${{ gitea.repository }}
# persist-credentials: false
# ssh-strict: false
token: ${{ secrets.ACCESS_TOKEN_GIT }}
# ssh-known-hosts: ${{ secrets.SSH_KNOWN_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 }}
- 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 }}