This commit is contained in:
commit
062d36e640
4 changed files with 124 additions and 0 deletions
20
.forgejo/workflows/simple-build.yaml
Normal file
20
.forgejo/workflows/simple-build.yaml
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
# test docker build workflow
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: docker-dind
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build image with docker
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile
|
||||||
|
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
.idea
|
||||||
5
Dockerfile
Normal file
5
Dockerfile
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
FROM alpine:3.19
|
||||||
|
|
||||||
|
RUN apk add --no-cache curl
|
||||||
|
|
||||||
|
CMD ["curl", "--version"]
|
||||||
98
runner.yaml
Normal file
98
runner.yaml
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: forgejo-runner
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
stringData:
|
||||||
|
token: ""
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: runner-secret
|
||||||
|
namespace: forgejo-runner
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: forgejo-runner
|
||||||
|
name: forgejo-runner
|
||||||
|
namespace: forgejo-runner
|
||||||
|
spec:
|
||||||
|
replicas: 2
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: forgejo-runner
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: forgejo-runner
|
||||||
|
spec:
|
||||||
|
restartPolicy: Always
|
||||||
|
volumes:
|
||||||
|
- name: runner-data
|
||||||
|
emptyDir: {}
|
||||||
|
initContainers:
|
||||||
|
- name: runner-register
|
||||||
|
image: code.forgejo.org/forgejo/runner:6.3.1
|
||||||
|
command:
|
||||||
|
- forgejo-runner
|
||||||
|
- register
|
||||||
|
- --no-interactive
|
||||||
|
- --instance
|
||||||
|
- $(FORGEJO_INSTANCE_URL)
|
||||||
|
- --token
|
||||||
|
- $(RUNNER_SECRET)
|
||||||
|
- --labels
|
||||||
|
- docker-dind # replace with your runner name
|
||||||
|
env:
|
||||||
|
- name: RUNNER_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.name
|
||||||
|
- name: RUNNER_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: runner-secret
|
||||||
|
key: token
|
||||||
|
- name: FORGEJO_INSTANCE_URL
|
||||||
|
value: https://professional-service.git.onstackit.cloud/ # replace with your git instance
|
||||||
|
volumeMounts:
|
||||||
|
- name: runner-data
|
||||||
|
mountPath: /data
|
||||||
|
|
||||||
|
containers:
|
||||||
|
- name: runner
|
||||||
|
image: code.forgejo.org/forgejo/runner:6.3.1
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
echo "Waiting for Docker daemon..."
|
||||||
|
while ! nc -z localhost 2375 </dev/null; do
|
||||||
|
echo "waiting..."
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
apk add --no-cache docker nodejs openssh curl yq coreutils
|
||||||
|
forgejo-runner generate-config > /data/config.yml
|
||||||
|
sed -i -e "s|privileged: .*|privileged: true|" /data/config.yml
|
||||||
|
exec forgejo-runner -c /data/config.yml daemon
|
||||||
|
env:
|
||||||
|
- name: DOCKER_HOST
|
||||||
|
value: tcp://localhost:2375
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
runAsUser: 0
|
||||||
|
volumeMounts:
|
||||||
|
- name: runner-data
|
||||||
|
mountPath: /data
|
||||||
|
|
||||||
|
- name: daemon
|
||||||
|
image: docker:27.0.1-dind
|
||||||
|
command:
|
||||||
|
- dockerd
|
||||||
|
- -H
|
||||||
|
- tcp://0.0.0.0:2375
|
||||||
|
- --tls=false
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
Loading…
Reference in a new issue