Compare commits

...

8 Commits

Author SHA1 Message Date
6df9527db8 adz 2023-11-19 17:52:59 +01:00
cc85f4c476 dsqdsq 2023-11-19 17:51:37 +01:00
9d11f308c4 push change tag trigger 2023-11-19 17:48:39 +01:00
3b544fc61f push change token name 2023-11-19 17:43:32 +01:00
8a26981a06 packages 2023-11-19 16:45:46 +01:00
df42190f94 test one push two tags 2023-11-19 16:34:45 +01:00
35cbac9328 final everything work 2023-11-19 16:24:44 +01:00
3245bac439 azea 2023-11-19 16:22:35 +01:00
3 changed files with 103 additions and 75 deletions

View File

@@ -1,75 +0,0 @@
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:
tags:
- '*'
jobs:
build-debian-runner:
# 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: debian-runner
container:
image: ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}:latest
credentials:
username: ${{ secrets.REGISTRY_DOCKER_USER }}
password: ${{ secrets.REGISTRY_DOCKER_PASS }}
steps:
- name: Show Information
run: echo "Runner ${{ runner.os }} triggered by ${{ gitea.event_name }} working on repository ${{ gitea.repository }} and on tag ${{ gitea.ref_name }}"
# - name: Install dnsutils and git (github actions)
# run: |
# apt-get update
# apt-get -y install dnsutils git
# - name: Install node (github actions)
# run: |
# apt-get update && apt-get install -y ca-certificates curl gnupg
# install -m 0755 -d /etc/apt/keyrings
# curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
# NODE_MAJOR=${{ vars.NODE_MAJOR_VERSION }}
# echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
# apt-get update && apt-get install nodejs -y
# - name: Install Docker
# run: |
# apt-get update
# apt-get -y install ca-certificates curl gnupg
# 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: Git clone private repository
uses: actions/checkout@v4
with:
repository: ${{ gitea.repository }}
token: ${{ secrets.ACCESS_TOKEN_GIT }}
- 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 }}
- name: Output
run: echo "Push on ${{ vars.REGISTRY_DOCKER }} image ${{ vars.DOCKER_IMAGE_NAME }} tag ${{ gitea.ref_name }}"

View File

@@ -0,0 +1,52 @@
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:
# Be carefull, conflict with package-deb *.*.*, don't use more than on dot *.* (ex: 2.5-runner)
- '*-runner'
jobs:
build-and-push-debian-runner:
# 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: debian-runner
container:
image: ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}: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: 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 }}
- 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 "Push on ${{ vars.REGISTRY_DOCKER }} image ${{ vars.DOCKER_IMAGE_NAME }} tag ${{ gitea.ref_name }}"

View File

@@ -0,0 +1,51 @@
name: build_package_deb
env:
PACKAGE_NAME: simplescript
DEB_OS_TARGET: bullseye
GIT_REPO_URL: gitea.jingoh.fr
MAINTAINER: jingoh
ARCH: amd64
on:
push:
tags:
- '*.*.*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git clone private repository
uses: actions/checkout@v4
with:
repository: ${{ gitea.repository }}
token: ${{ secrets.REPO_PULL_GITEA }}
- name: create sample script
run: |
mkdir -p .debpkg/usr/bin
mkdir -p .debpkg/usr/lib/samplescript
echo -e "echo sample" > .debpkg/usr/bin/samplescript
chmod +x .debpkg/usr/bin/samplescript
echo -e "a=1" > .debpkg/usr/lib/samplescript/samplescript.conf
# create DEBIAN directory if you want to add other pre/post scripts
mkdir -p .debpkg/DEBIAN
echo -e "echo postinst" > .debpkg/DEBIAN/postinst
chmod +x .debpkg/DEBIAN/postinst
- uses: jiro4989/build-deb-action@v3
with:
package: ${{ env.PACKAGE_NAME }}
package_root: .debpkg
maintainer: ${{ env.MAINTAINER }}
version: ${{ gitea.ref_name }} # refs/tags/v*.*.*
arch: 'amd64'
depends: 'libc6 (>= 2.2.1), git'
desc: 'this is sample package.'
- name: Push packages
run: |
curl --user ${{ vars.REPO_GITEA_USER }}:${{ secrets.PACKAGE_PUSH_REPO }} \
--upload-file ${{ env.PACKAGE_NAME }}_${{ gitea.ref_name }}_${{ env.ARCH }}.deb \
https://${{ env.GIT_REPO_URL }}/api/packages/${{ vars.REPO_GITEA_USER }}/debian/pool/${{ env.DEB_OS_TARGET }}/main/upload