Travis CI Co je CI K cemu CI Co je pot reba k CI Travis CI · 2015. 3. 16. · Travis CI Miro Hron...

Post on 07-Sep-2020

3 views 0 download

Transcript of Travis CI Co je CI K cemu CI Co je pot reba k CI Travis CI · 2015. 3. 16. · Travis CI Miro Hron...

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Travis CI

Miro Hroncok

InstallFest 2015

8. brezna 2015

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I vzniklo to jako metoda extremnıho programovanı

I 20 let stary pojemI dle Wikipedie:

I kod ve spolecnem repozitariI automaticke zbuildenıI automaticke testyI do repozitare prispıvajı vsichni kazdy denI kazdy prıspevek se zbuildı a otestujeI build je rychlyI testuje se v kopii produkcnıho prostredıI kazda nova zmena jde jednoduse zıskatI vsichni by meli videt vysledek poslednıho testuI automaticky deployment

I odeberme VSC (git apod.)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I sypeme do toho commity

I zbuildı se to

I otestuje se to

I prıpadne se to nasadı

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I sypeme do toho commity

I zbuildı se to

I otestuje se to

I prıpadne se to nasadı

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I sypeme do toho commity

I zbuildı se to

I otestuje se to

I prıpadne se to nasadı

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Continuous integration

I sypeme do toho commity

I zbuildı se to

I otestuje se to

I prıpadne se to nasadı

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Vyhody Continuous integration

I zjistıme, ze se rozbily testy

I zjistıme, kdy se rozbily testy

I zıskame development build

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Vyhody Continuous integration

I zjistıme, ze se rozbily testy

I zjistıme, kdy se rozbily testy

I zıskame development build

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Vyhody Continuous integration

I zjistıme, ze se rozbily testy

I zjistıme, kdy se rozbily testy

I zıskame development build

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co potrebujeme k Continuous integration

I nejake testy

I nejaky CI system

I automatizaci CI

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co potrebujeme k Continuous integration

I nejake testy

I nejaky CI system

I automatizaci CI

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co potrebujeme k Continuous integration

I nejake testy

I nejaky CI system

I automatizaci CI

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Co je Travis CI

I travis-ci.org

I sluzba pro automaticke CII pouze pro GitHub repozitare

I zdarma pro verejne repozitareI placene travis-ci.com pro privatnı

I zdarma v ramci GitHub Student Developer Pack

I vyborna dokumentace na docs.travis-ci.com

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak zacıt pouzıvat Travis CI

I vlezete na travis-ci.org

I prihlasıte se pres GitHub

I zapnete webhook pro repozitar

I pridate travis.yml

I pushnete

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak zacıt pouzıvat Travis CI

I vlezete na travis-ci.org

I prihlasıte se pres GitHub

I zapnete webhook pro repozitar

I pridate travis.yml

I pushnete

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak zacıt pouzıvat Travis CI

I vlezete na travis-ci.org

I prihlasıte se pres GitHub

I zapnete webhook pro repozitar

I pridate travis.yml

I pushnete

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak zacıt pouzıvat Travis CI

I vlezete na travis-ci.org

I prihlasıte se pres GitHub

I zapnete webhook pro repozitar

I pridate travis.yml

I pushnete

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak zacıt pouzıvat Travis CI

I vlezete na travis-ci.org

I prihlasıte se pres GitHub

I zapnete webhook pro repozitar

I pridate travis.yml

I pushnete

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Jak funguje Travis CI

I vyvojar pushne nove commity

I GitHub rekne Travisu, ze se to staloI Travis CI:

I naklonuje vase repo a prepne se na ten dany commitI precte travis.ymlI nastartuje kontajneryI spustı build a testyI reportuje uspech/selhanıI (udela deploy)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

A co ten travis.yml

I YAML souborI definuje:

I jazyk projektuI runtimy

I napr. ruzne verze Pythonu

I co nainstalovat za zavislostiI sluzby a jejich konfiguraceI jak to zbuilditI jak pustit testyI jak deploynoutI dalsı volby specificke pro dany jazyk

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – prıklad

language: python

python:

- "2.6"

- "2.7"

- "3.3"

- "3.4"

- "pypy"

- "pypy3"

install:

- pip install -r requirements.txt

- if [[ $TRAVIS_PYTHON_VERSION == ’2.6’ ]]; then...

script: nosetests

I prıklady pro jine jazyky

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – poradı vykonanı sekcı

I before install

I install

I before script

I script

I after success nebo after failure

I after script

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – instalace zavislostı

I docs.travis-ci.com/user/installing-dependencies

I interprety/kompilatory se instalujı samy (podle jazyka)

I sluzby jsou nainstalovane, ale nemusı bezetI knihovny pomocı language-specific metod

I PyPII RubygemnsI . . .

I muzete doinstalovavat balıcky pomocı apt-getI prıpadne stahovat tary a kompilovat

I (jde delat prakticky cokoliv)

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – sluzby

I docs.travis-ci.com/user/database-setup

I MySQL, PostgreSQL, MongoDB, Redis, RabbitMQ,Memcached. . .

services:

- redis

- memcached

# mysql defaultne samo

before_script:

# username travis/root, blank password

- mysql -e ’create database myapp_test;’

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – deployment

I docs.travis-ci.com/user/deployment

I OpenShift, Heroku. . .

I PyPI, Rubygems. . .

deploy:

provider: openshift

user: eggs

password: foo

domain: spam

I kontrolnı otazka

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – deployment

I docs.travis-ci.com/user/deployment

I OpenShift, Heroku. . .

I PyPI, Rubygems. . .

deploy:

provider: openshift

user: eggs

password: foo

domain: spam

I kontrolnı otazka

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – notifikace

I docs.travis-ci.com/user/notifications

I e-mail, IRC, webhook. . .

I rozumne defaultnı chovanı

notifications:

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 CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – build matrix

I docs.travis-ci.com/user/build-configuration

I poustı se nekolik kontajneru (paralelne)

I defaultne matice runtime × env (× jeste neco)

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

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

travis.yml – prıklady

I github.com/rails/rails – komplexnı prıklad

I github.com/vrutkovs/dogtail – GTK+ GUI testing

I github.com/travis-ci-examples – prıklady prımo odTravisaku

Travis CI

Miro Hroncok

Co je CI

K cemu CI

Co je potreba k CI

Co je Travis CI

Jak to pouzıt

Jak to funguje

travis.yml

Demo

Demo

Demo