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