Slide 1

Slide 1 text

what happend till now ?

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

“In theory, there is no difference between theory and practice. But in practice, there is.” - Yogi Berra

Slide 4

Slide 4 text

Kontinuierliche Integration ist ein Begriff aus der Software-Entwicklung, der den Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung beschreibt. […] - Wikipedia

Slide 5

Slide 5 text

code

Slide 6

Slide 6 text

production

Slide 7

Slide 7 text

Continous what? CI in the real world Deploy software in the 21th century Marcel Neidinger m.neidinger (at) unibas.ch

Slide 8

Slide 8 text

- Yogi Berra Designing CI Pipelines

Slide 9

Slide 9 text

Designing CI Pipelines SCM Changes Code compile check report report executable

Slide 10

Slide 10 text

Designing CI Pipelines SCM Changes Code compile check report report executable Unit Tests Integration Tests Code coverage Memory leaks Translation checks …

Slide 11

Slide 11 text

Designing CI Pipelines SCM Changes Code compile check report report executable E-Mail ChatOps Issues …

Slide 12

Slide 12 text

tools to the rescue

Slide 13

Slide 13 text

Jenkins

Slide 14

Slide 14 text

Jenkins Web Service cloud before it was cool Language agnostic You „could“ do ASM with it Pluggable There’s an app plugin for it

Slide 15

Slide 15 text

Jenkins is pretty damn cool To summarize

Slide 16

Slide 16 text

Setup Jenkins # On Ubuntu/Debian $ wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add - $ echo ‘’deb http://pkg.jenkins.io/debian-stable binary/’’>/etc/apt/sources.list.d/jenkins.list' $ sudo apt-get update $ sudo apt-get install jenkins # On Arch Linux $ sudo pacman -S jenkins $ sudo systemctl enable jenkins # On Gentoo $ open https://wiki.archlinux.org/index.php/installation_guide

Slide 17

Slide 17 text

Some people think that R is the right language for this. We call them „wrong“ - altered after Joel Grus bash

Slide 18

Slide 18 text

bash python

Slide 19

Slide 19 text

python python fabric + I am in no way affiliated with Disney but if anybody could get me a sponsoring with them that would be great.

Slide 20

Slide 20 text

python fabric + # On Ubuntu/Debian $ pip2 install fabric # or $ sudo apt-get install fabric

Slide 21

Slide 21 text

Task Task python fabric + fabfile.py Remote Host #1 Remote Host #2 Remote Host #n … Task

Slide 22

Slide 22 text

Task python fabric + run() put() get() local()

Slide 23

Slide 23 text

lazytime is over!