|
|
|
@@ -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.
|
|
|
|
|