CI server pro VersionPress rubrika: Programování: Jiné

2 borekb
položil/-a 22.10.2015

Ahoj, potřeboval bych poradit CI server, který by nám poháněl buildy / testy VersionPressu. Máme na to několik požadavků:

  1. Předně je naše test suita dost technicky komplikovaná, na cílovém prostředí se na pozadí instaluje WordPress (takže tam musí být web server, MySQL databáze a PHP) a ten se pak proklikává Seleniem. Vychází mi z toho, že se s cloudovým řešením jen těžko obejdeme, protože u nás to není jen o spuštění nějakého xunit runneru, ale i o značném setupu prostředí.

  2. Musí mít integraci s GitHubem - spouštět testy na branchích / pull requestech a reportovat do nich stav.

  3. Celá suita běží několik desítek minut, takže bychom potřebovali nějaké škálování. Současně bychom se rádi doplatili :)

Kdyby to bylo něco moderního, co třeba už rovnou staví na Dockeru, bylo by to plus.

Díky.

odkaz
5 abtris
odpověděl/-a 22.10.2015

Myslím, že nic takového co potřebuješ neexistuje. Ale možná si s něčím jako je CircleCI nebo TravisCI zatím vystačíte.

ad 1) to by neměl byt problém u CircleCI. V apiary máme Redis, MongoDB a NodeJS a také to proklikáváme seleniem. Více zde https://circleci.com/docs/language-php

V CircleCI mají základní podporu dockeru, která stačí na tento setup taky a otevírá cestu do budoucnosti. Podobné možnosti máš i v TravisCI http://docs.travis-ci.com/user/languages/php/

Trochu mi chybi podpora Nginx, ale docker (http://docs.travis-ci.com/user/docker/) je v TravisCI take.

Doporucoval bych se zamerit timto smerem, tam potom nejvetsi problem je rozchodit spolehlive Selenium pres Xvfb.

ad 2) to asi zvladá celkem CircleCI, TravisCI dobře, do Jenkinsu bude plugin, ale nemam vyzkoušeno

as 3) podle mě tohle je velký problmém, na hostovaných se dá ušetřit pokud je to open source, ale zase je problém, že pokud chceš škálovat na rychlost nebo privatní repository tak za to zaplatíš. Dávám naději Code Pipeline od AWS (https://aws.amazon.com/codepipeline/), kde by se dali využívat Spot instance a nestálo by to moc peněz, ale zatím podporují jen Jenkins

Jedine primo na Docker zamerene CI je https://drone.io/, ale stale mi prijdou jako v zacatcich.

Doufam, ze nekdo udela CI, ktere bude jako travis nebo circle, ktere mi prijdou celkem dobre. Jen rozsiri moznosti o to pridat vlastni zelezo pres Tutum.co nebo primo AWS, aby clovek ziskal potrebnou flexibilitu co se tyka vykonu za rozumnou cenu.

Komentáře

  • borekb : Díky za supr odpověď. Napadá mě, že kdybychom měli plně dockerizovaný build (s čímž mám nulovou zkušenost, takže možná jen fantazíruju), možná bychom ani nepotřebovali tradiční CI server a stačil by nám nějaký relativně jednoduchý kód okolo, který by ten build spouštěl a přes API sypal do GitHubu... Zcestná myšlenka nebo ne? 22.10.2015
  • abtris : Určitě je dobré začít s tím dockerizovaným buildem. On to není relativně jednoduchý kód, potřebujes fronty, zpracovaní hooků apod. Ale build je základ. Pokud by jsi chtěl pomoct s tím dockerem tak se ozvi a něco vymyslíme. 23.10.2015
  • lad.slezak : K poslednímu odstavci: to je přesně to, co mi u existujících hostovaných CI řešení chybí - jednoduchý způsob jak přidat vlastní železo. Jenkins umí přidat vlastní workery jednoduše. Škoda, že to neumí třeba Travis, CircleCI a další... 23.10.2015

Pro zobrazení všech 4 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.