Git deployment umožňuje nasazovat web na hosting příkazem
git push. Přesnou remote adresu repozitáře i příkazy pro
konkrétní doménu najdete v Administraci → Moje domény → vyberte
doménu → Git.
Jak Git deployment funguje
Push do vzdálené větve production automaticky zveřejní
novou verzi webu. Kořen repozitáře se při nasazení zkopíruje
přímo do složky www na hostingu. Kvůli nasazení proto
v repozitáři nevytvářejte další obalovou složku www.
Ostatní větve můžete používat pro běžný vývoj. Obsah webu změní
pouze push do větve production.
Aktivace Gitu
- V administraci otevřete nastavení Git u vybrané domény.
- Přidejte veřejný SSH klíč svého počítače. Přidáním prvního klíče se Git automaticky aktivuje.
- Po aktivaci se zobrazí remote adresa repozitáře, například
git@server.blueboard.cz:vasedomena.cz.
Pokud administrace místo nastavení Gitu zobrazuje informaci o starší verzi hostingu, obraťte se na naši podporu. Hosting musíme nejprve převést na aktuální způsob práce se subdoménami.
Vytvoření SSH klíče
Pokud SSH klíč ještě nemáte, spusťte v Terminálu nebo PowerShellu:
ssh-keygen -t ed25519
Potvrďte navržené umístění souboru. Soukromý klíč zůstává ve vašem počítači a nesmíte ho nikomu posílat.
Veřejný klíč zobrazíte v macOS nebo Linuxu příkazem:
cat ~/.ssh/id_ed25519.pub
Ve Windows PowerShellu použijte:
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
Do administrace vložte celý vypsaný řádek začínající
ssh-ed25519.
Připojení projektu
Přesnou remote adresu vždy zkopírujte z administrace. Následující adresa je pouze příklad.
Existující lokální projekt
V kořenové složce projektu přidejte hosting jako nový remote:
git remote add blueboard git@server.blueboard.cz:vasedomena.cz
Název blueboard si můžete změnit. Další příklady
v tomto návodu používají právě tento název.
Prázdný projekt
Pokud chcete začít repozitářem vytvořeným na hostingu, naklonujte ho:
git clone git@server.blueboard.cz:vasedomena.cz
Struktura repozitáře
Kořen repozitáře odpovídá složce www na hostingu.
Volitelný soubor .deploy a případný composer.json
proto patří přímo do kořene repozitáře. Další struktura projektu může
být libovolná.
repozitář/
├── .deploy
├── composer.json
├── composer.lock
└── …
Po nasazení budou tyto soubory na hostingu dostupné jako
www/.deploy, www/composer.json a
www/composer.lock.
První a další nasazení
Nejprve změny uložte do lokálního Gitu:
git add .
git commit -m "První nasazení"
Aktuální commit nasadíte příkazem:
git push blueboard HEAD:production
Zápis HEAD:production odešle aktuální lokální commit do
vzdálené větve production. Nemusíte kvůli tomu lokálně
vytvářet ani přepínat samostatnou větev.
Pozor: Nasazení může přepsat soubory, které jsou nyní na webu nahrané přes FTP.
Automatické příkazy po nasazení
Volitelný soubor www/.deploy na hostingu vytvoříte jako
.deploy v kořeni repozitáře. Každý příkaz zapište na
samostatný řádek, například:
composer install
delete temp/cache
url https://vasedomena.cz/deploy-finished
composer installspustícomposer install --no-devve složcewwwna hostingu. Souborycomposer.jsonacomposer.lockproto musí být v kořeni repozitáře.delete cestaodstraní uvedený soubor nebo adresář relativně ke složcewww. Příkaz můžete použít vícekrát.url adresapo dokončení nasazení načte uvedenou URL. Příkaz můžete použít vícekrát.
Při dalších změnách stačí vytvořit nový commit a znovu spustit:
git push blueboard HEAD:production