Komentáře k článku
GitLab jako Continuous Integration (nejen) pro PHP

V článku si ukážeme, jak kromě hostování a správy git repositářů můžeme GitLab používat pro CI (Continuous Integration). Zajímavé na něm je, že na rozdíl od konkurence to nabízí i v hostované verzi zadarmo.
Paměťová náročnost
Mě by se i líbil, jen ta jeho rozežranost se mi nezdá. 4GB RAM? Jakože na git!?
Re: Paměťová náročnost
Tak je to ruby aplikace a PostgreSQL databáze, takže to zas tolik není.
Bitbucket Pipelines
Díky za zajímavý článek.
Bitbucket nedávno spustil https://bitbucket.org/product/features/pipelines, předpokládám, že jde v podstatě o totéž. Má někdo zkušenost?
Re: Bitbucket Pipelines
Mam zkusenost, zkousel jsem to pred casem. Bylo to docela slozite rozchodit, ale nakonec to funguje v pohode. Nemuzes na to mit prilis velke naroky. Obcas potrebuju spoustet nejake buildy v navaznosti na jine a obcas mam i jinak slozite triggery a eventy, coz se moc od Pipelines neda ocekavat. Na jednoduche veci typu: push, testy, deploy to ale funguje dobre.
Podoba s Bitbucket Pipelines
Vypadá to hezky, akorát v mezičase podobné Pipelines implementoval i Bitbucket, takže se stačí mrknout na jejich nastavení (co jsem se díval na GitLabCI soubor, tak je to hodně podobné) a nemusíte vlastně nic migrovat :-)
Re: Podoba s Bitbucket Pipelines
jj, zachytil jsem to, ale od příštího roku to budou mít placené a ve free verzi bude 50buildminut/měsíc viz https://bitbucket.org/product/pricing/upcoming?tab=host-in-the-cloud
A zdá se, že to pořádně neumí databáze: https://confluence.atlassian.com/bitbucket/test-with-databases-856697462.html
Re: Podoba s Bitbucket Pipelines
A Bitbucket je zadarmo jen do 5 uživatelů v repositáři.
Super. Škoda, že jsme nedávno nastavili bitbucket + wercker. Nebo teda neni to asi škoda :-). Taky zadarmo. Docela by mě zajímaly zkušenosti z obou.
Vdaka za zlanok, gitlab je naozaj lakavy.
Uz spominany Bitbucket + wercker pouzivam taktiez a celkom mi vyhovuje. Plus bitpucket poslednu dobu zavadza Pipelines co je nieco ako plugin system, cize sa da integrovat s viacerymi rozlicnymi sluzbami.
Co sa stane v pripade ze nastane chyba?
Chapem to spravne, ze workflow funguje nasledovne:
vytvoris pull request, ten sa zvaliduje, nasledne spravca cez web UI uvidi ze CI to oznacilo za ok, tak sa to mergne do main branche?
Ako by si nastavil CI + automaticky deploy bez rucnych kontrol? Teda ak niekto commitne a CI zbehne bez chyby, tak aby sa to automatickly merglo a nasledne deploylo?
Drobnost:
PHP_CodeSniffer verzia 2.7.1 neexistuje. posledna verzia z vetvy 2 je 2.7.0
Re:
Ty Pipelines budou ve free od příštího roku docela omezené, viz odpověď na komentář výše.
Ad. workflow – ano, a ještě bych tam přidal code-review po tom, co je CI build OK. Pak fixy z review a když to bude OK, tak merge.
Celé automatizované workflow by mohlo fungovat pro staging, GitLab by to měl umět, ale nemám s tím zkušenost. Pro produkci to bude nebezpečné a pro staging složité (ve chvíli, kdy nějaké migrace DB mohou být nerevertnutelné)
Díky za nalezení chybky, opravíme.
Vdaka za super clanok, mam vsak jeden dotaz. Ako riesite cely tento buildovaci proces v pripade ze sa aplikacia nahrava na jednoduchy php hosting ktory ma len ftp a nic viac? Mate po ruke nejaky dalsi dodatocny server ktory ma rovnake nastavenia ako ostre ftp kde sa to cele zbuildi otestuje a potom sa to len 1:1 preklopi alebo sa to ma riesit nejakym inym sposobom? Ide to cele zautomatizovat ze sa tenťo zbuildeny projekt rovno aj nahra na konkretne ostre ftp?
Re:
CI může klidně fungovat nezávisle, jen jako „kontrola kvality“. Ten deploy by případně mohl jít v rámci Gitlabu automatizovat pomocí dg/ftp-deployment.
Ale jako nejlepší řešení mi přijde zbavit se FTP.
Re:
Lze nějak zapsat konfiguraci CI, které se vztahuje ke konkrétní branch? Aby se deploy na produkci provedl pouze při změně v master branch a deploy na stage se spustil při změně v beta branch?
Re:
Omezit jednotlivé joby podle branchí by mělo být možné pomocí atributů
only
aexcept
.dotaz
Jsem lama, ale uz jsem cosi zaslechl o CI i dockeru. Mame tady nainstalovany gitlab lokalne na nasem serveru a chci se zeptat, jestli ten navod plati i pro tuto situaci.
Musi se tam zprovoznit docker, nebo to jde i bez dockeru, popripade vubec nejde a je nutne pouzit gitlab.com?
(Mam urcite zbrany nahravat firemni zdrojaky na gitlab.com, i kdyz je mozne pouzit privatni repository)
Re: dotaz
Zkušenost s tím přímo nemám, ale Docker podle mě potřeba není. Buildy klidně můžou běžet na stejném serveru, jen to není doporučené.
Docker má tu výhodu, že by pak mělo jít používat různé image, jak jsem ukazoval v článku. Jinak to poběží na stejných verzích SW jako jsou na serveru.
Re: dotaz
Ano CI je stejne pro vsechny verze Gitlabu.
Samotny job Gitlab CI jde sestavit pouze z command line prikazu. Jestli se to bude zpracovavat primo nebo pres docker zalezi na uzivateli.
Rozdil v self-hsoted variante je ze si proste urcite kde a na kolika strojich build probehne a mate je plne pod kontrolou.