Files
gitea-ci-library/git-pages
niko 6621b3f336
CI Git-Pages Main / Check existing artifact (push) Successful in 20s
CI Git-Pages Main / Load git-pages.gitea-env.conf to pipeline env (push) Successful in 22s
CI Main / Load example-gitea-env.conf to pipeline env (push) Successful in 23s
CI Main / Check existing artifact (push) Successful in 21s
acc-tests Cucumber test report
CI Main / Cucumber tests (push) Successful in 52s
CI Git-Pages Main / Report Summary (push) Successful in 4s
ci-helm-build-push Helm chart 0.1.0
CI Git-Pages Main / Build & Push Helm chart (push) Successful in 43s
unit-tests Bats test report
CI Main / Bats tests (push) Successful in 1m51s
ci-docker-build-push Docker build & push 0.2.14 OK
CI Main / Build & Push Docker (push) Successful in 31s
CI Main / Report Summary (push) Successful in 3s
CI Main / Move provider version tag (push) Successful in 11s
Fix/helm build node (#27)
Co-authored-by: moilanik <niko.moilanen@tietoevry.com>
Reviewed-on: #27
2026-06-19 08:48:56 +03:00
..
2026-06-15 17:22:04 +03:00
2026-06-19 08:48:56 +03:00

git-pages

Jaettu Gitea CI -raporttien tallennus- ja lukupaikka: HTML-raportit (esim. Cucumber) commit-kohtaisiin polkuihin, selaimella avattavina linkkeinä Gitean commitin CI-job raportista. Kuvaus ja perustelut: docs/.


Quick Start

1. Secretit

Luo secretit ennen Helm-asennusta: docs/secrets.md

# Avaa secrets.md ja suorita snipletit siellä
# Palaa tähän jälkeen Helm-asennukseen

2. Instanssin values-tiedosto

# Muokkaa oma values-tiedosto (tai käytä dev-values.yaml)
cp git-pages/dev-values.yaml my-values.yaml
# Muuta: ingress.host, certificate.issuerRef.name, jne.

3. Helm-asennus

NS=git-pages
VALUES=my-values.yaml

helm upgrade --install git-pages ./git-pages \
  -n "$NS" --create-namespace \
  -f "$VALUES"

Helm ajaa asennuksen jälkeen init-jobin, joka PUTtaa paikanpitäjäsivun git-pagesiin. Tämä luo tarvittavan .index-tiedoston — sen jälkeen Gitea Actions -scriptit voivat käyttää suoraan PATCHia ilman PUT-fallbackia.


Vie publish-token Gitea Actions-secretiin (per repo)

⚠️ Tehtävä jokaiselle repoille, joka julkaisee raportteja git-pagesiin.

NS=git-pages
REPO_OWNER="niko"
REPO_NAME="gitea-ci-library"

# 1. Lue plaintext-token erillisestä secretistä
TOKEN=$(kubectl get secret git-pages-publish-token -n "$NS" -o jsonpath='{.data.token}' | base64 -d)

# 2. Kopioi leikepöydälle
echo -n "$TOKEN" | pbcopy   # macOS
# echo -n "$TOKEN" | xclip -sel clip  # Linux

# 3. Avaa Gitea Actions secrets -sivu
open "https://gitea.app.keskikuja.site/${REPO_OWNER}/${REPO_NAME}/settings/actions/secrets"
# Linux: xdg-open "https://gitea.app.keskikuja.site/${REPO_OWNER}/${REPO_NAME}/settings/actions/secrets"

Gitea UI:ssa: New Secret → Name: GIT_PAGES_PUBLISH_TOKEN → Value: liitä leikepöydältä → Save

💡 Monelle repoille: Toista vaiheet 34, tai katso automatisointi.


Käyttöönotto

1. Secretit

docs/secrets.md

2. Instanssin values-tiedosto

values.yaml sisältää jaetut vakiot. Ympäristökohtaiset arvot omaan tiedostoon, esim. dev-values.yaml / prod-values.yaml:

ingress:
  host: pages.example.com          # julkinen host (luku + julkaisu)

certificate:
  issuerRef:
    name: letsencrypt-prod         # cert-manager ClusterIssuer / Issuer
    kind: ClusterIssuer

persistence:
  storageClass: ""                 # tyhjä = klusterin oletus
  size: 5Gi

retention:
  giteaApiUrl: https://gitea.example.com
  rules:
    default:
      maxAgeDays: 90
      keepMin: 5
    branches:
      main:
        maxAgeDays: 365
        keepMin: 20

Esimerkki dev-ympäristöstä: dev-values.yaml.

3. Helm-asennus

Repojuuresta (sama NS kuin docs/secrets.md):

NS=git-pages
VALUES=git-pages/dev-values.yaml

helm upgrade --install git-pages ./git-pages \
  -n "$NS" --create-namespace \
  -f "$VALUES"

helm template git-pages ./git-pages -f "$VALUES"

CI-julkaisu

Julkaisu DNS-osoitteeseen BasicAuthilla:

# Esimerkki: julkaise raportti
curl -X PATCH https://ci-reports.helm-dev.keskikuja.site/owner/repo/commit/sha8/ \
  -H "Authorization: Basic $(echo -n "publish:$GIT_PAGES_PUBLISH_TOKEN" | base64)" \
  -H "Content-Type: application/x-tar" \
  --data-binary @raportti.tar

Vaaditut asetukset:

Missä Arvo
Gitea Actions secret GIT_PAGES_PUBLISH_TOKEN (sama kuin K8s git-pages-publish-token token-avain)
Scriptissä curl käyttää BasicAuth-headeria yllä

K8s secretit (Traefik-yhteensopivuus):

  • git-pages-publish-auth = htpasswd (Traefik BasicAuth middleware)
  • git-pages-publish-token = plaintext (luetaan Giteaan viedessä)

Tarkemmat secret-ohjeet: docs/secrets.md.