Yleistä¶
RepoStage – Järjestelmän yleiskuvaus¶
RepoStage on automatisoitu dokumentaatio-ekosysteemi, joka keskittää hajallaan olevan projektitiedon GitHubista ja GitLabista yhdeksi hallituksi portaaliksi. Se ratkaisee manuaalisen ylläpidon haasteet hyödyntämällä rajapintoja ja CI/CD-automaatiota.
🏗️ Arkkitehtuuri ja tiedon virtaus¶
RepoStage-arkkitehtuuri perustuu "Single Source of Truth" -periaatteeseen. Portaali hakee metatiedot ja sisällön suoraan lähteistä, jolloin dokumentaatio pysyy aina ajan tasalla koodin kanssa.
graph TD
%% Paikallinen kehitys
PC[Paikallinen VS Code] -- push develop --> DEV_REPO[GitLab: docs-dev]
PC -- push develop:main --> PROD_REPO[GitLab: docs-prod]
%% Automaatio ja lähteet
subgraph CI_CD [CI/CD Pipeline]
PY[generate_projects.py]
MK[MkDocs Material Build]
end
GH[(GitHub API)] -- metadata --> PY
GL[(GitLab API)] -- metadata --> PY
SUB[README-tiedostot] -- sisältö --> PY
%% Julkaisu
DEV_REPO --> PY
PROD_REPO --> PY
PY --> MK
MK --> PAGES[GitLab Pages: DocsDev & DocsProd] -
Kehitysympäristö (DocsDev): repostage-docs-dev
-
Tuotantoympäristö (DocsProd): repostage-docs-prod
🚀 Keskeiset ominaisuudet¶
-
Automatisoitu haku Räätälöity Python-skripti noutaa projektien nimet, kielet ja tagit suoraan GitHub- ja GitLab-rajapinnoista.
-
Dynaaminen sisältöintegraatio Järjestelmä skannaa aliprojektit ja poimii niiden README-tiedostoista automaattisesti parhaat kuvaukset portaalin etusivulle.
-
Staging- Production -malli Kaksivaiheinen CI/CD-julkaisu mahdollistaa automaation ja ulkoasumuutosten turvallisen testaamisen
dev-ympäristössä ennen tuotantoon siirtymistä. -
Älykäs navigointi Sivuston valikkorakenne rakentuu dynaamisesti
awesome-pages-pluginin ja autogeneroitujen.pages-tiedostojen avulla projektien määrän mukaan.