Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b544fc61f | |||
| 8a26981a06 | |||
| df42190f94 | |||
| 35cbac9328 | |||
| 3245bac439 | |||
| a2fc48b06b | |||
| 57991727fa | |||
| 4cbb470ff5 | |||
| 9bac7be2b6 | |||
| 33995326a8 | |||
| 9e3c20e751 | |||
| d7cdb6be9d | |||
| df18b23f88 | |||
| da6f636c5f | |||
| 07596178fc | |||
| f9c335b5a7 | |||
| 9b6976d758 | |||
| c6c04ea72c | |||
| 591ae0c4e1 | |||
| 890a6fe6d1 | |||
| ea67d02a66 | |||
| 682f0c9cf1 |
@@ -1,18 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
name: 'Hello World'
|
|
||||||
description: 'Greet someone and record the time'
|
|
||||||
inputs:
|
|
||||||
who-to-greet: # id of input
|
|
||||||
description: 'Who to greet'
|
|
||||||
required: true
|
|
||||||
default: 'World'
|
|
||||||
outputs:
|
|
||||||
time: # id of output
|
|
||||||
description: 'The time we greeted you'
|
|
||||||
runs:
|
|
||||||
using: 'docker'
|
|
||||||
image: 'Dockerfile'
|
|
||||||
args:
|
|
||||||
- ${{ inputs.who-to-greet }}
|
|
||||||
@@ -1,56 +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:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
docker:
|
|
||||||
runs-on: test:docker://debian:bullseye
|
|
||||||
#runs-on: ubuntu-latest:docker://node:16-bullseye
|
|
||||||
#runs-on: ubuntu-latest:docker://debian:bullseye
|
|
||||||
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 curl 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 }}
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
name: Gitea Actions to build image
|
|
||||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
|
||||||
on: [never]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
# This is used to complete the identity challenge
|
|
||||||
# with sigstore/fulcio when running outside of PRs.
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# TEST
|
|
||||||
- name: Print Gitea runner tag
|
|
||||||
run: echo ${{ env.GITEA_RUNNER_TAG }}
|
|
||||||
- name: Print vars repo test
|
|
||||||
run: echo ${{ vars.REGISTRY_DOCKER }}
|
|
||||||
# CLONE
|
|
||||||
- name: Checkout private tools
|
|
||||||
uses: https://github.com/actions/checkout@v3
|
|
||||||
with:
|
|
||||||
# tape git@gitea.jingoh.fr port 22 et pas port 443 cet ane (should be ssh://gitea.jingoh.fr:443/$repository au lieu de ssh://gitea.jingoh.fr:$repository)
|
|
||||||
repository: staffadmin/gitea-runner
|
|
||||||
persist-credentials: false
|
|
||||||
ssh-strict: false
|
|
||||||
token: ${{ secrets.ACCESS_TOKEN_GIT }}
|
|
||||||
ssh-known-hosts: ${{ secrets.SSH_KNOWN_GITEA }}
|
|
||||||
|
|
||||||
# INSTALL docker
|
|
||||||
- run: apt-get update
|
|
||||||
- run: apt-get install ca-certificates curl gnupg
|
|
||||||
- run: install -m 0755 -d /etc/apt/keyrings
|
|
||||||
- run: curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
- run: chmod a+r /etc/apt/keyrings/docker.gpg
|
|
||||||
- run: 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
|
|
||||||
- run: apt-get update
|
|
||||||
- run: apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
||||||
|
|
||||||
# BUILD & PUSH docker image
|
|
||||||
- name: Build the Docker image
|
|
||||||
run: docker build . --file Dockerfile --tag ${{ vars.DOCKER_IMAGE_NAME }}:$(date +%s)
|
|
||||||
# - name: Login to registry
|
|
||||||
# run: docker login -u "test:test" https://registry.jingoh.fr
|
|
||||||
|
|
||||||
# # # Install the cosign tool except on PR
|
|
||||||
# # # https://github.com/sigstore/cosign-installer
|
|
||||||
# - name: Install cosign
|
|
||||||
# #if: gitea.event_name != 'pull_request'
|
|
||||||
# uses: https://github.com/sigstore/cosign-installer@v2.6.0 #v2.6.0
|
|
||||||
# with:
|
|
||||||
# cosign-release: 'v1.11.0'
|
|
||||||
# # Workaround: https://github.com/docker/build-push-action/issues/461
|
|
||||||
# - name: Setup Docker buildx
|
|
||||||
# uses: https://github.com/docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
|
|
||||||
# Login against a Docker registry except on PR
|
|
||||||
# https://github.com/docker/login-action
|
|
||||||
|
|
||||||
- name: Log into registry ${{ vars.REGISTRY_DOCKER }}
|
|
||||||
# env:
|
|
||||||
# REGISTRY_DOCKER: registry.jingoh.fr
|
|
||||||
uses: docker/login-action@v3 # v3.0.0
|
|
||||||
with:
|
|
||||||
registry: ${{ vars.REGISTRY_DOCKER }}
|
|
||||||
username: ${{ secrets.REGISTRY_DOCKER_USER }}
|
|
||||||
password: ${{ secrets.REGISTRY_DOCKER_PASS }}
|
|
||||||
|
|
||||||
- run: docker images
|
|
||||||
|
|
||||||
# Extract metadata (tags, labels) for Docker
|
|
||||||
# https://github.com/docker/metadata-action
|
|
||||||
- name: Extract Docker metadata
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
|
|
||||||
with:
|
|
||||||
images: ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_NAME }}
|
|
||||||
|
|
||||||
- run: docker images
|
|
||||||
|
|
||||||
# Build and push Docker image with Buildx (don't push on PR)
|
|
||||||
# https://github.com/docker/build-push-action
|
|
||||||
# - name: Build and push Docker image
|
|
||||||
# id: build-and-push
|
|
||||||
# uses: docker/build-push-action@master
|
|
||||||
# with:
|
|
||||||
# context: "{{defaultContext}}:src"
|
|
||||||
# #push: ${{ github.event_name != 'pull_request' }} # Don't push on PR
|
|
||||||
# tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
# labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
# cache-from: type=gha
|
|
||||||
# cache-to: type=gha,mode=max
|
|
||||||
|
|
||||||
# - run: echo "🐧 This job was running on a ${{ runner.os }} server hosted by Gitea!"
|
|
||||||
51
.gitea/workflows/build_image_debian_runner.yml
Normal file
51
.gitea/workflows/build_image_debian_runner.yml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
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:
|
||||||
|
- '*-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 }}"
|
||||||
50
.gitea/workflows/build_package_deb.yml
Normal file
50
.gitea/workflows/build_package_deb.yml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
name: build_package_deb
|
||||||
|
|
||||||
|
env:
|
||||||
|
PACKAGE_NAME: simplescript
|
||||||
|
DEB_OS_TARGET: bullseye
|
||||||
|
MAINTAINER: jingoh
|
||||||
|
ARCH: amd64
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
|
||||||
|
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 }}:${{ env.PACKAGE_PUSH_REPO }} \
|
||||||
|
--upload-file ${{ env.PACKAGE_NAME }}_${{ gitea.ref_name }}_${{ env.ARCH }}.deb \
|
||||||
|
https://${{ gitea.repository }}/api/packages/${{ vars.REPO_GITEA_USER }}/debian/pool/${{ env.DEB_OS_TARGET }}/main/upload
|
||||||
31
Dockerfile
31
Dockerfile
@@ -1,9 +1,30 @@
|
|||||||
|
|
||||||
# Container image that runs your code
|
# Container image that runs your code
|
||||||
FROM alpine:3.10
|
FROM debian:bullseye
|
||||||
|
|
||||||
# Copies your code file from your action repository to the filesystem path `/` of the container
|
ENV NODE_MAJOR 16
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
|
||||||
|
|
||||||
# Code file to execute when the docker container starts up (`entrypoint.sh`)
|
# install dependancies packages
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y curl \
|
||||||
|
dnsutils \
|
||||||
|
git \
|
||||||
|
ca-certificates \
|
||||||
|
gnupg
|
||||||
|
|
||||||
|
# NODE
|
||||||
|
RUN install -m 0755 -d /etc/apt/keyrings
|
||||||
|
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
||||||
|
RUN 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
|
||||||
|
|
||||||
|
# DOCKER
|
||||||
|
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
|
RUN chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
RUN 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
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y nodejs \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-buildx-plugin
|
||||||
14
README.md
14
README.md
@@ -1,13 +1 @@
|
|||||||
Création d'un nouveau dépôt en ligne de commande
|
# Docker debian runner (node and docker)
|
||||||
|
|
||||||
touch README.md
|
|
||||||
git init
|
|
||||||
git checkout -b main
|
|
||||||
git add README.md
|
|
||||||
git commit -m "first commit"
|
|
||||||
git remote add origin ssh://git@gitea.jingoh.fr:443/staffadmin/gitea-runner.git
|
|
||||||
git push -u origin main
|
|
||||||
Soumission d'un dépôt existant par ligne de commande
|
|
||||||
|
|
||||||
git remote add origin ssh://git@gitea.jingoh.fr:443/staffadmin/gitea-runner.git
|
|
||||||
git push -u origin main
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh -l
|
|
||||||
|
|
||||||
echo "Hello $1"
|
|
||||||
time=$(date)
|
|
||||||
echo "time=$time" >> $GITHUB_OUTPUT
|
|
||||||
Reference in New Issue
Block a user