Git a repozitáře
Git a repozitáře
Section titled “Git a repozitáře”Sencai obsahuje integrovaný Git hosting postavený na Gitea — self-hosted, open-source Git platformě. Každá organizace dostane vlastní izolovaný namespace, kde žijí repozitáře, balíčky a CI pipeline.
Co je Git integrace v Sencai?
Section titled “Co je Git integrace v Sencai?”- Organizačně oddělená — Repozitáře patří organizaci, ne jednotlivým uživatelům. Každý člen organizace k nim přistupuje podle své role.
- Self-hosted — Váš kód zůstává na infrastruktuře Sencai (nebo vaší vlastní, pokud používáte BYOC). Nic není sdíleno s externími Git hostingy.
- Připravena pro CI/CD — Gitea Actions (kompatibilní s GitHub Actions) spouštějí pipeline přímo z vašich workflow souborů.
Zobrazení repozitářů
Section titled “Zobrazení repozitářů”Přejděte do Gravity → Git (/gravity/git), kde uvidíte seznam všech repozitářů aktuálně vybrané organizace.
Pomocí výběru organizace v záhlaví přepínáte mezi organizacemi. Seznam repozitářů se aktualizuje automaticky.
Vytvoření repozitáře
Section titled “Vytvoření repozitáře”- Otevřete Gravity → Git
- Klikněte na Nový repozitář
- Vyplňte údaje:
- Název — Slug repozitáře (malá písmena, povoleny pomlčky; např.
my-service) - Popis (volitelný) — Krátký popis zobrazený v seznamu repozitářů
- Viditelnost —
Soukromý(pouze členové organizace) neboVeřejný - Auto-inicializace — Vytvoří počáteční commit s
README.md, takže repozitář je ihned klonovatelný
- Název — Slug repozitáře (malá písmena, povoleny pomlčky; např.
- Klikněte na Vytvořit repozitář
Repozitář se objeví v seznamu během několika sekund a je připraven ke klonování.
Smazání repozitáře
Section titled “Smazání repozitáře”- Otevřete repozitář
- Přejděte na záložku Nastavení
- Přejděte dolů do sekce Nebezpečná zóna
- Klikněte na Smazat tento repozitář
- Zadejte celý název repozitáře pro potvrzení
- Klikněte na Rozumím, smazat repozitář
Detail repozitáře
Section titled “Detail repozitáře”Každý repozitář má šest záložek:
Přehled
Section titled “Přehled”Úvodní stránka repozitáře. Zobrazuje:
-
Popis a volitelný odkaz na web
-
Adresa pro klonování — zkopírujte HTTP nebo SSH adresu pro klonování:
Terminál # HTTP (produkce)git clone https://git.sencai.space/acme-corp/my-service.git# SSH (produkce, port 22)git clone git@git.sencai.space:acme-corp/my-service.git -
Témata — štítky pro vyhledatelnost
-
Meta informace — čas posledního push, počet hvězdiček, forků, přehled jazyků
Soubory
Section titled “Soubory”Prohlížení stromové struktury repozitáře na libovolné větvi nebo tagu. Kliknutím na soubor zobrazíte jeho obsah inline. Podporované náhledy zahrnují Markdown, JSON, YAML a většinu zdrojových souborů.
Tlačítko Otevřít ve VS Code (zobrazeno u souborů i adresářů) spustí VS Code s předvyplněnou adresou repozitáře přes schéma vscode://. Vyžaduje nainstalované rozšíření VS Code Remote.
Commity
Section titled “Commity”Kompletní historie commitů aktuální větve. Každý záznam zobrazuje:
- Zprávu commitu a zkrácené SHA
- Jméno autora a avatar
- Relativní i absolutní čas
Kliknutím na SHA commitu zobrazíte úplný diff.
Issues
Section titled “Issues”Odlehčený systém pro správu issues v rámci repozitáře.
- Pomocí filtru Otevřené / Uzavřené přepínáte zobrazení
- Kliknutím na Nový issue vytvoříte issue s názvem, popisem a volitelnými štítky
- Na issues lze odkazovat ze zpráv commitů syntaxí
#<číslo>
Balíčky
Section titled “Balíčky”Gitea slouží také jako registr balíčků. Balíčky publikované do namespace tohoto repozitáře se zobrazí zde:
| Typ | Příklad |
|---|---|
| Container (OCI) | Docker images přes docker push |
| npm | npm publish --registry ... |
| PyPI | pip install --index-url ... |
| Helm | Helm chart repository |
| Generic | Binární artefakty přes curl upload |
Příkazy pro publikování jednotlivých typů najdete v dokumentaci Gitea package registry.
Nastavení
Section titled “Nastavení”Nastavení repozitáře (dostupné vlastníkům organizace a správcům repozitáře):
Obecné
- Přejmenování repozitáře
- Aktualizace popisu a webu
- Změna viditelnosti (soukromý ↔ veřejný)
- Povolení nebo zakázání sledování issues
Deploy Keys SSH klíče jen pro čtení nebo pro čtení i zápis určené pro automatizované nasazení (CI runnery, servery). Na rozdíl od uživatelských SSH klíčů jsou deploy klíče omezeny na jeden repozitář.
Webhooky Konfigurace odchozích HTTP webhooků spouštěných při push, pull requestu, issue nebo release eventu. Slouží k propojení externích služeb.
Secrets & Variables Secrets a proměnné na úrovni repozitáře využívané workflow Gitea Actions:
- Secrets — Zašifrované hodnoty přístupné jako
${{ secrets.MY_SECRET }}ve workflow - Variables — Prostý text přístupný jako
${{ vars.MY_VAR }}ve workflow
Zrcadlené repozitáře (Mirrors)
Section titled “Zrcadlené repozitáře (Mirrors)”Mirrors umožňují sledovat externí Git repozitář a automaticky stahovat aktualizace podle plánu.
Přejděte do Gravity → Git → Mirrors (/gravity/git/mirrors), kde spravujete mirrors aktuální organizace.
Přidání mirroru
Section titled “Přidání mirroru”- Klikněte na Přidat mirror
- Vyplňte:
- Remote URL — Adresa zdrojového repozitáře (doporučeno HTTPS; např.
https://github.com/acme/upstream.git) - Název — Název lokálního repozitáře, který bude vytvořen ve vaší organizaci
- Auth token (volitelný) — Personal access token pro soukromé zdrojové repozitáře
- Interval synchronizace — Jak často stahovat změny:
- 8 hodin
- 24 hodin (výchozí)
- 72 hodin
- 168 hodin (týdně)
- Remote URL — Adresa zdrojového repozitáře (doporučeno HTTPS; např.
- Klikněte na Vytvořit mirror
Gitea stahuje vzdálený repozitář v nastaveném intervalu a udržuje lokální kopii aktuální. Manuální synchronizaci můžete spustit také z Nastavení repozitáře → Mirror.
Smazání mirroru
Section titled “Smazání mirroru”- Otevřete Gravity → Git → Mirrors
- Najděte mirror v seznamu
- Klikněte na ikonu Smazat
- Potvrďte smazání
Lokální kopie repozitáře bude odstraněna z vaší organizace. Zdrojový repozitář není dotčen.
CI / Pipeline
Section titled “CI / Pipeline”Přejděte do Gravity → Git → CI (/gravity/git/ci) pro přehled všech spuštění workflow Gitea Actions napříč organizací.
Každý run zobrazuje:
- Repozitář a název workflow
- Spouštěcí událost (push, pull request, plán, ruční spuštění)
- Stav: úspěch, selhání nebo probíhá
- Čas a dobu trvání
Kliknutím na run zobrazíte logy jednotlivých jobů.
Psaní workflow souborů
Section titled “Psaní workflow souborů”Gitea Actions používá stejnou YAML syntaxi jako GitHub Actions. Sencai Gitea je nakonfigurována tak, aby hledala workflow soubory v těchto adresářích (v tomto pořadí):
.sencai/workflows/— doporučeno (nativní cesta Sencai).gitea/workflows/.github/workflows/
Minimální příklad
Section titled “Minimální příklad”Vytvořte .sencai/workflows/ci.yml ve svém repozitáři:
name: CI
on: push: branches: [main] pull_request:
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Instalace závislostí run: npm ci - name: Testy run: npm testPushněte soubor, čímž spustíte první run. Stav se zobrazí v záložce CI a v Gravity → Git → CI.
Řešení problémů
Section titled “Řešení problémů”Q: Klonování selhává s chybou „Repository not found”
A: Ověřte, že používáte správný název organizace a slug repozitáře. Zkontrolujte, že jste členem organizace a že viditelnost repozitáře vám umožňuje přístup.
Q: SSH klonování selhává s „Permission denied (publickey)”
A: Ujistěte se, že máte přidaný veřejný SSH klíč v Sencai pod Nastavení účtu → SSH klíče. Konektivitu otestujete příkazem ssh -T git@git.sencai.space v produkci, nebo ssh -T -p 9033 git@localhost v lokálním vývoji.
Q: Workflow je ve frontě, ale nespouští se
A: Pro label runs-on ve vašem workflow není dostupný žádný runner. Požádejte správce o kontrolu registrovaných runnerů v administraci Gitea.
Q: Mirror se neaktualizuje
A: Zdrojová URL může být nedostupná nebo auth token mohl expirovat. Přejděte do Nastavení repozitáře → Mirror a spusťte manuální synchronizaci, abyste viděli chybovou zprávu.
Q: „Otevřít ve VS Code” nereaguje
A: Ujistěte se, že máte nainstalované VS Code a aktivní rozšíření Remote Repositories (nebo Remote — SSH). Schéma vscode:// musí být registrováno ve vašem prohlížeči.