- publish-wiki-pages.yml: reusable workflow with wiki_dir, prune and tools-ref inputs and the declared secret TOKEN_FOR_GITEA_WIKI - tools/publish_wiki.py: WIKI_PRUNE selects explicit mode without the marker; a missing folder is a configuration error - publish-own-wiki.yml: this repository calls the reusable workflow - wiki/ moves to docs/wiki/; build_wiki.py and its tests follow - the scoped publish-wiki.yml is marked deprecated, not removed - guides, README and the Danish and Bahasa Malaysia wiki pages describe the caller, docs/wiki/ and the new error messages Task: MIL-008#2 Task: MIL-008#4 Task: MIL-008#5 Task: MIL-008#6
5.9 KiB
Dette er en oversættelse af
Onboarding. Den engelske side er autoritativ, og ændringer her bliver overskrevet, næste gang wikien publiceres.
English | Dansk | Bahasa Melayu
Tilslutning af et repository
Sådan får en DevOps-professionel et TirSystem-repository til at bruge det fælles workflow Sync GitHub mirror metadata, og hvilke runners det kræver. Kun dette workflow findes i dag; workflows til kvalitetskontrol og udgivelse er planlagt (se projektplanen).
Hvad er verificeret
| Punkt | Status |
|---|---|
| Gitea-version | 1.27.3 |
.gitea/scoped_workflows/sync-github-metadata.yml kører i dette repository |
Verificeret: kørsel 16, workflow_dispatch, gennemført |
| Samme workflow gælder automatisk for andre repositories | Verificeret 2026-10-10: det kørte, uden en kopi i repositoryet, i repositories i TirSystem, TirSystem-BashScript, vl-staal og Tirsvad-Udemy-100-days-of-code (fx TirSystem/sqa-qc-checklists og TirSystem-BashScript/RepoFoundry). Scriptet, det kørte, ændrede sig, når dette repositorys script ændrede sig. |
Leveringen er automatisk, så et repository behøver ingen kopi af workflowet. Secrets deles ikke mellem organisationer: hver organisation skal have sine egne (trin 3).
Trin
- Kontroller forudsætningerne i repositoryet: Actions er aktiveret, og en runner med labelen
ubuntu-latestogpython3er online (se Runners). - Konfigurer ét GitHub push-spejl i repositoryets indstillinger (Settings, Repository, Mirror settings, Push mirror). Workflowet fejler, hvis der er flere GitHub-spejle. Hvis der ingen er, lykkes det uden at synkronisere noget.
- Tilføj de to secrets i repositoryets (eller organisationens) indstillinger med de scopes, der står i credentials.md. Workflowet kører i alle organisationens repositories, så gem secrets én gang pr. organisation; et repository i en anden organisation kan ikke se dem:
TOKEN_FOR_GITEAPAT_FOR_GITHUB(kun GitHub-tokenet)
- Lever workflowet: scoped workflows gælder for alle repositories på denne instans, så der er intet at kopiere. Kun hvor scoped levering ikke er sat op, kopieres
.gitea/scoped_workflows/sync-github-metadata.ymlfra dette repository til.gitea/workflows/i mål-repositoryet; fastlås kopien til en gennemgået version, og kopier igen, når den ændres. - Angiv en beskrivelse og emner på Gitea-repositoryet, så der er noget at synkronisere.
- Kør det én gang manuelt: Actions, Sync GitHub mirror metadata, Run workflow. Loggen skal slutte med
Synced description and topics to <owner>/<repo>., og GitHub-repositoryet skal vise samme beskrivelse og emner. - Hvis det fejler, brug troubleshooting.md.
Publicér en wiki (valgfrit)
Det genbrugelige workflow Publish wiki pages kopierer Markdown-siderne i docs/wiki/ til repositoryets wiki, når en ændring af docs/wiki/ flettes til main. Repositoryet kalder det, så der skrives intet, hvor der ikke findes et kald. Wikien findes som minimum på engelsk og på produktejerens sprog.
-
Aktivér wikien i repositoryets indstillinger.
-
Tilføj Markdown-sider til
docs/wiki/. Filnavnet er sidens navn:Home.mder forsiden. En bindestreg i navnet er et mellemrum i sidens navn:Home-da.mder siden "Home da", og et link til den er[Dansk](Home-da). -
Tilføj et workflow, for eksempel
.gitea/workflows/publish-wiki.yml, der kalder det genbrugelige workflow:on: push: branches: [ main ] paths: [ "docs/wiki/**" ] jobs: wiki: uses: TirSystem/github-action/.gitea/workflows/publish-wiki-pages.yml@v1 with: prune: "true" secrets: TOKEN_FOR_GITEA_WIKI: ${{ secrets.TOKEN_FOR_GITEA_WIKI }}wiki_direr som standarddocs/wiki.prune: "true"sletter også wiki-sider, der ikke findes i mappen, så wikien altid er lig med mappen; standardenfalsebeholder dem. -
Gem
TOKEN_FOR_GITEA_WIKIsom en secret i repositoryets organisation med det scope, der står i credentials.md. -
Flet ændringen til
main. Loggen skal slutte medPublished <n> page(s) to the wiki of <owner>/<repo>.
Et repository, der stadig har markøren wiki/.publish, publiceres af det ældre scoped workflow, som fjernes, når alle repositories har et kald. Flyt siderne til docs/wiki/ og tilføj kaldet, før det sker.
Runners
| Punkt | Værdi |
|---|---|
| Label, som workflowet bruger | ubuntu-latest |
| Labels, som runneren på denne instans tilbyder | ubuntu-latest, ubuntu-24.04, ubuntu-22.04 |
| Værktøjer, workflowet skal bruge | python3 (kun standardbiblioteket), udgående HTTPS til Gitea API og api.github.com |
Kræves af actions/checkout (bruges af valideringsworkflowet) |
git og Node.js, normalt i runner-imaget |
Kontroller, at en passende runner er online (kræver tilladelse til at se runners):
curl -s -H "Authorization: token $GITEA_TOKEN" \
https://git.tirsystem.com/api/v1/repos/<owner>/<repo>/actions/runners
For runners, der deles af hele instansen, bruger en administrator /api/v1/admin/actions/runners. På skrivetidspunktet er lister for repository og organisation tomme, og én runner på instansniveau (36cd20104923) er online.
Offline eller inkompatibel runner
| Symptom | Sandsynlig årsag | Handling |
|---|---|---|
Kørslen bliver stående som waiting |
Ingen online runner har den label, der står i runs-on |
Start runneren, eller registrer én med labelen |
| Jobbet fejler i starten med en manglende kommando | Runner-imaget mangler python3, git eller Node.js |
Brug et image, der har dem |
| Jobbet kan ikke nå API'et | Runneren har ingen udgående HTTPS | Ret runnerens netværks- eller proxyindstillinger |