Featuer/gitops extra command #47

Merged
niko merged 6 commits from featuer/gitops-extra-command into main 2026-06-27 05:20:10 +03:00
3 changed files with 44 additions and 13 deletions
Showing only changes of commit 4bdb4f3d6a - Show all commits
+1 -1
View File
@@ -23,7 +23,7 @@ on:
jobs:
build-push:
runs-on: ubuntu-latest
runs-on: docker
steps:
- uses: actions/checkout@v4
+2 -2
View File
@@ -32,7 +32,7 @@ concurrency:
jobs:
build-push:
runs-on: ubuntu-latest
runs-on: docker
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
@@ -91,7 +91,7 @@ jobs:
fi
tag-commit:
runs-on: ubuntu-latest
runs-on: docker
needs: [build-push]
steps:
- uses: actions/checkout@v4
+40 -9
View File
@@ -151,58 +151,89 @@ ja sitä kautta Gitea ei tarvitse päivityksessä mitään temppuja.
Päivityksen jälkeen muista tappaa pod (käynnistyy automaattisesti uudelleen), että lataa varmasti kaikki uudesta. Sillä ConfigMap tms eivät lataudu
mikäli pod jatkaa ajamista.
Klusterissa on kaksi StatefulSetiä, joilla on eri labelit:
- **`act-runner`** — yleisrunneri ilman DinD:tä (label `ubuntu-latest`)
- **`act-runner-docker`** — Docker-buildien runneri DinD:llä (label `docker`)
Vain `docker-build-push.yml` ja `ci-container-build-push.yml` käyttävät `docker`-labelia.
Kaikki muut workflowt (testit, lintit, helm-publish, gitops-dispatch) ajetaan `ubuntu-latest`-runnerilla,
joka ei käynnistä turhaa Docker-daemonia.
```bash
helm repo add gitea https://dl.gitea.com/charts
helm repo update
# 1. Yleisrunneri (ei DinD)
helm upgrade --install act-runner gitea/actions \
--set enabled=true \
--set giteaRootURL="$GITEA_URL" \
--set existingSecret=act-runner-token \
--set existingSecretKey=token \
--set statefulset.replicas=3 \
--set statefulset.replicas=2 \
--set statefulset.runner.tag=1.0.8 \
--set statefulset.dind.tag=29.5.2-dind \
--set-string 'statefulset.runner.config=log:
level: info
cache:
enabled: false
enabled: true
container:
require_docker: false' \
--namespace "$GITEA_ACTIONS_NAMESPACE" \
--create-namespace
# 2. Docker-runner (DinD)
helm upgrade --install act-runner-docker gitea/actions \
--set enabled=true \
--set giteaRootURL="$GITEA_URL" \
--set existingSecret=act-runner-token \
--set existingSecretKey=token \
--set statefulset.replicas=1 \
--set statefulset.runner.tag=1.0.8 \
--set statefulset.dind.tag=29.5.2-dind \
--set-string 'statefulset.runner.labels=docker' \
--set-string 'statefulset.runner.config=log:
level: info
cache:
enabled: true
container:
require_docker: true
docker_timeout: 300s' \
--namespace "$GITEA_ACTIONS_NAMESPACE" \
--create-namespace
--namespace "$GITEA_ACTIONS_NAMESPACE"
```
path escapes from parent -bugi korjattiin Docker 29.5.2:ssa. Tämän teko aikana default on 29.5.1 — juuri tämän alle jäävä versio.
`path escapes from parent` -bugi korjattiin Docker 29.5.2:ssa. Tämän teko aikana default on 29.5.1 — juuri tämän alle jäävä versio.
Oletus-lokitaso on `debug` — suositeltu `info`. Näkee jobien aloitukset ja valmistumiset ilman konttikerrosten purkua (Downloading/Extracting-spämmiä). `debug` on tarpeen vain vianselvityksessä.
`cache.enabled: true` nappaa image-cachen käyttöön — ilman sitä jokainen ajo lataa konttikuvat uudestaan.
#### Docker (DinD)
Helm chart deployaa DinD:n init-sidecarina (`docker:dind` samassa podissa).
`require_docker: true` kytkee jobit siihen — erillistä DinD-asennusta ei tarvita.
Vain Docker-runnerissa on tämä päällä.
**DinD-tag pinottu:** `29.5.2-dind` (ei chart-oletusta). Docker 29.5.1 aiheuttaa act-runnerissa
`path escapes from parent` -virheen job-kontin käynnistyksessä.
Maven/npm-ajot käyttävät vain workflow'n `container:`-imagea; DinD tarvitaan vasta Docker-buildissä.
### 3. Varmista
### 5. Varmista
```bash
kubectl get pods -n gitea-actions
# → act-runner-runner-0 Running
# → act-runner-docker-runner-0 Running
kubectl exec -n gitea-actions act-runner-runner-0 -c dind -- docker version
kubectl exec -n gitea-actions act-runner-docker-runner-0 -c dind -- docker version
# → Server Version: 29.5.2 (tai uudempi)
```
Gitean puolella runner ilmestyy Active-tilaan pienellä viiveellä:
Gitean puolella runnerit ilmestyvät Active-tilaan pienellä viiveellä:
```
Site Admin → Actions → Runners (tai Org → Settings → Actions → Runners)
# → act-runner-runner-0 Active ubuntu-latest
# → act-runner-docker-runner-0 Active docker
```
Tämän jälkeen `.gitea/workflows/ci.yml` triggeröityy automaattisesti pushista.