-
-
Notifications
You must be signed in to change notification settings - Fork 1
Nastavení vykládání projektu hostovaného v GitLabu
Toto je jednoduchý návod pro nastavení "vykládky" projektu hostovaného v GitLabu, návod předpokládá že již máte spuštěný a nakonfigurovaný git-deploy jako službu na vašem GitLab serveru.
V kořenu každého projektu který chceme vykládat je třeba vytvořit konfigurační soubor deploy.py
s následujícím obsahem:
CONFIG = {
# Nastaveni cilu vykládky
'targets': [
{
# Nastavení cílové destinace ve formátu URL (protokol://uživatel<:heslo>@doména.tld<:port>/cesta/vykládky) podporované protokoly jsou ftp (zastaralé FTP), ftps (FTP s šifrováním), sftp (SSH (SCP) -doporučeno)
'uri': 'sftp://user:password@example.com/path/to/deploy',
# Web hook pro spusteni akce po dokonceni vykladky
'web_hook': 'http://example.com/your_hook',
# Povoluje vykladku pro tento cil
'enabled': True
}
],
# Nastaveni opravneni relativni k rootu GIT repozitare
'file_rights': {
'dir/file/*': 777,
'dir/file': 775
}
}
Je třeba aktivovat Web hook
pro push event, v GitLabu toto nastavení nalezneme na: Detail projektu
-> Settings
-> Web hooks
.
V této konfiguraci přidáme nový hook pro push
který bude odkazovat na běžící git-deploy
, defaultně: http://localhost:7416/deploy.json
Nakonec je potřeba přidat nebo povolit(V případě kdy se git-deploy
používá již pro jiný projekt) deploy klíč.
Nastavení deploy klíčů pro projekt nalezneme na Detail projektu
-> Settings
-> Deploy keys
.
Jednoduše vybereme správný deploy klíč ze seznamu již používaných deploy klíčů a klikneme na "Enable"
Pro přidání deploy klíče klikneme na New Deploy Key
a vložíme veřejný klíč z páru který používá uživatel pod kterým git-deploy
běží na serveru, defaultně je to uživatel git
.
Pro otestování vykládky stačí kliknout na "Test hook" v Detail projektu
-> Settings
-> Web hooks
.
Pokud je vše v pořádku, mělo by dojít k vyložení projektu dle specifikované konfigurace v deploy.ini.
V případě že GitLab vrátí chybu 500 tak došlo k chybě na straně git-deploy
a je třeba zkontrolovat jeho konfiguraci a zda li běží na zadané url.
-
Pokud konfigurujete vykládku pro již vyložený projekt jiným způsobem, je doporučeno vytvořit soubor
REVISION
v rootu již vyloženého projektu (na cílovém serveru) s obsahem sumu revize posledního commitu napr344f060488ff303ee5ba322c00ed1e4041287330
, tímto zabráníme úvodnímu, zbytečnému a zdlouhavému celkovému vyložení projektu. Vykládány budou pouze změny po tomto commitu. -
Je doporučeno rozdělit projekt minimálně na dva branche (master, devel) kdy pro branch master je nakonfigurovaná vykládka na live server dostupný zákazníkům a na devel branchi je nakonfigurována vykládka na vývojový server(nebo není nakonfigurována vůbec, parameter deploy = false). Pote stačí pro vyložení na live provést merge branche devel do master atp.