Travis CI - InstallFest
Transkript
Travis CI - InstallFest
Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Travis CI Co je Travis CI Jak to použı́t Jak to funguje Miro Hrončok InstallFest 2015 8. března 2015 travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI I vzniklo to jako metoda extrémnı́ho programovánı́ I 20 let starý pojem dle Wikipedie: I I I I I I I I I I I I kód ve společném repozitáři automatické zbuilděnı́ automatické testy do repozitáře přispı́vajı́ všichni každý den každý přı́spěvek se zbuildı́ a otestuje build je rychlý testuje se v kopii produkčnı́ho prostředı́ každá nová změna jde jednoduše zı́skat všichni by měli vidět výsledek poslednı́ho testu automatický deployment odeberme VSC (git apod.) K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I sypeme do toho commity Jak to funguje I zbuildı́ se to travis.yml I otestuje se to I přı́padně se to nasadı́ Demo Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I sypeme do toho commity Jak to funguje I zbuildı́ se to travis.yml I otestuje se to I přı́padně se to nasadı́ Demo Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I sypeme do toho commity Jak to funguje I zbuildı́ se to travis.yml I otestuje se to I přı́padně se to nasadı́ Demo Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I sypeme do toho commity Jak to funguje I zbuildı́ se to travis.yml I otestuje se to I přı́padně se to nasadı́ Demo Výhody Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I zjistı́me, že se rozbily testy I zjistı́me, kdy se rozbily testy I zı́skáme development build Jak to funguje travis.yml Demo Výhody Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I zjistı́me, že se rozbily testy I zjistı́me, kdy se rozbily testy I zı́skáme development build Jak to funguje travis.yml Demo Výhody Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I zjistı́me, že se rozbily testy I zjistı́me, kdy se rozbily testy I zı́skáme development build Jak to funguje travis.yml Demo Co potřebujeme k Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I nějaké testy I nějaký CI systém I automatizaci CI Jak to funguje travis.yml Demo Co potřebujeme k Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I nějaké testy I nějaký CI systém I automatizaci CI Jak to funguje travis.yml Demo Co potřebujeme k Continuous integration Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I nějaké testy I nějaký CI systém I automatizaci CI Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Co je Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I travis-ci.org I služba pro automatické CI pouze pro GitHub repozitáře I I I zdarma pro veřejné repozitáře placené travis-ci.com pro privátnı́ I I zdarma v rámci GitHub Student Developer Pack výborná dokumentace na docs.travis-ci.com Jak to použı́t Jak to funguje travis.yml Demo Jak začı́t použı́vat Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I vlezete na travis-ci.org I přihlásı́te se přes GitHub travis.yml I zapnete webhook pro repozitář Demo I přidáte travis.yml I pushnete Jak to funguje Jak začı́t použı́vat Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I vlezete na travis-ci.org I přihlásı́te se přes GitHub travis.yml I zapnete webhook pro repozitář Demo I přidáte travis.yml I pushnete Jak to funguje Jak začı́t použı́vat Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I vlezete na travis-ci.org I přihlásı́te se přes GitHub travis.yml I zapnete webhook pro repozitář Demo I přidáte travis.yml I pushnete Jak to funguje Jak začı́t použı́vat Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I vlezete na travis-ci.org I přihlásı́te se přes GitHub travis.yml I zapnete webhook pro repozitář Demo I přidáte travis.yml I pushnete Jak to funguje Jak začı́t použı́vat Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I vlezete na travis-ci.org I přihlásı́te se přes GitHub travis.yml I zapnete webhook pro repozitář Demo I přidáte travis.yml I pushnete Jak to funguje Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo Jak funguje Travis CI Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI I vývojář pushne nové commity I GitHub řekne Travisu, že se to stalo Travis CI: I I I I I I I naklonuje vaše repo a přepne se na ten daný commit přečte travis.yml nastartuje kontajnery spustı́ build a testy reportuje úspěch/selhánı́ (udělá deploy) Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo A co ten travis.yml Travis CI Miro Hrončok Co je CI K čemu CI I I YAML soubor definuje: I I jazyk projektu runtimy I I I I I I I např. různé verze Pythonu co nainstalovat za závislosti služby a jejich konfigurace jak to zbuildit jak pustit testy jak deploynout dalšı́ volby specifické pro daný jazyk Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo travis.yml – přı́klad Travis CI Miro Hrončok Co je CI K čemu CI language: python Co je potřeba k CI python: Co je Travis CI - "2.6" Jak to použı́t - "2.7" Jak to funguje - "3.3" travis.yml - "3.4" Demo - "pypy" - "pypy3" install: - pip install -r requirements.txt - if [[ $TRAVIS_PYTHON_VERSION == ’2.6’ ]]; then... script: nosetests I přı́klady pro jiné jazyky travis.yml – pořadı́ vykonánı́ sekcı́ Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI I before install Jak to použı́t I install Jak to funguje I before script I script I after success nebo after failure I after script travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – instalace závislostı́ Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/installing-dependencies I interprety/kompilátory se instalujı́ samy (podle jazyka) I služby jsou nainstalované, ale nemusı́ běžet knihovny pomocı́ language-specific metod Co je potřeba k CI Co je Travis CI I I I I I I PyPI Rubygemns ... můžete doinstalovávat balı́čky pomocı́ apt-get přı́padně stahovat tary a kompilovat I (jde dělat prakticky cokoliv) Jak to použı́t Jak to funguje travis.yml Demo travis.yml – služby Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/database-setup Co je potřeba k CI I MySQL, PostgreSQL, MongoDB, Redis, RabbitMQ, Memcached. . . Co je Travis CI Jak to použı́t Jak to funguje services: - redis - memcached # mysql defaultně samo before_script: # username travis/root, blank password - mysql -e ’create database myapp_test;’ travis.yml Demo travis.yml – deployment Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/deployment Co je potřeba k CI I OpenShift, Heroku. . . Co je Travis CI I PyPI, Rubygems. . . Jak to použı́t Jak to funguje travis.yml deploy: provider: openshift user: eggs password: foo domain: spam I kontrolnı́ otázka Demo travis.yml – deployment Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/deployment Co je potřeba k CI I OpenShift, Heroku. . . Co je Travis CI I PyPI, Rubygems. . . Jak to použı́t Jak to funguje travis.yml deploy: provider: openshift user: eggs password: foo domain: spam I kontrolnı́ otázka Demo travis.yml – notifikace Travis CI Miro Hrončok Co je CI K čemu CI I docs.travis-ci.com/user/notifications Co je potřeba k CI I e-mail, IRC, webhook. . . Co je Travis CI I rozumné defaultnı́ chovánı́ Jak to použı́t Jak to funguje travis.yml notifications: Demo irc: channels: - "chat.freenode.net#my-channel" - "chat.freenode.net#some-other-channel" on_success: [always|never|change] # default: change on_failure: [always|never|change] # default: always travis.yml – build matrix Travis CI Miro Hrončok I docs.travis-ci.com/user/build-configuration Co je CI I pouštı́ se několik kontajnerů (paralelně) K čemu CI I defaultně matice runtime × env (× ještě něco) Co je potřeba k CI rvm: - 1.8.7 - 1.9.3 - jruby - ree gemfile: - gemfiles/Gemfile.rails-2.3.x - gemfiles/Gemfile.rails-3.1.x - gemfiles/Gemfile.rails-edge env: - ISOLATED=true - ISOLATED=false Co je Travis CI Jak to použı́t Jak to funguje travis.yml Demo travis.yml – přı́klady Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t I github.com/rails/rails – komplexnı́ přı́klad Jak to funguje I github.com/vrutkovs/dogtail – GTK+ GUI testing travis.yml I github.com/travis-ci-examples – přı́klady přı́mo od Travisáků Demo Demo Travis CI Miro Hrončok Co je CI K čemu CI Co je potřeba k CI Co je Travis CI Jak to použı́t Jak to funguje Demo travis.yml Demo