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