29
Tobias Frank, Isabella Gobel ,Konstantin Hungs, Steffen Scheller, Thomas Steffek 1

Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Tobias Frank, Isabella Gobel ,Konstantin Hungs, Steffen Scheller, Thomas Steffek 1

Page 2: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Gliederung

• Was & Wofür?

• Installation

• Jenkins 2.0: Continuous Delivery

• Pipeline

• Git-Integration

• Beispiele

• Alternativen

• Quellen

2

Page 3: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Was & Wofür?

3

Kohsuke Kawaguchi

• Fork von Hudson von Sun Microsystems

• In Java geschrieben

• Plattformübergreifend

• Continuous Integration (CI) Tool

• Typische Anwendung:

• Nightly Builds

• Unterstützt zahlreiche Werkzeuge:

• Maven, Ant, SVN, Junit, …

• Für Projekte div. Sprachen & Technologien:

• Java, PHP, Ruby, .Net, …

Page 4: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Installation

4

• LTS- oder Weekly-Version

• Native Downloadpakete für viele Plattformen➢Alternativ .war Dateien

• Für Windowsnutzer:• ZIP-Archiv mit setup.exe mit .NET Bibliotheken

• Erreichbar über den Port 8080 nach Installation

Page 5: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

5

• Begriffsklärung

• CI – Continuous Integration

• CD – Continuous Delivery

• Aber auch:• CD – Contiuous Deployment

Page 6: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

6

• Continuous Integration

• Automatisches mergen in den Master

• Viele kleine Änderungen um Konflikte zu vermeiden

• Automatische Validierung durch Tests

• Kein fester Release-Tag

Page 7: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

7

• Continuous Integration Kosten Nutzen

Probleme werden schnell gefunden

Integration wird vereinfacht

Weniger Bugs

Zusätzlicher Server, zusätzliche

Fehlerquelle

Ausreichende Unit-Tests sind ein Muss

Kleine Features

Page 8: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

8

• Continuous Delivery

• Erweiterung von CI

• Mehr als nur Validierung:

• Klicktests

• Skalierungstests

• Stresstests

• Kunden Szenarios (Internationalisierung)

Page 9: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

9

• Continuous Delivery

• Deployment ins Produktivsystem wird manuell ausgeführt

• Menschliche „Instanz“ ist die höchste

• Stabile und vorhersagbare Ergebnisse (auch ohne Mensch)

Page 10: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

10

• Continuous Delivery

Kosten Nutzen

Page 11: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

11

• Continuous Deployment

• Erweiterung von Continuous Delivery

• Änderungen werden automatisch ins Produktivsystem gepusht

• Kein Raum für Fehler

Page 12: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Von CI nach CD nach CD

12

• Continuous Deployment

Kosten Nutzen

Nutzer sehen Veränderungen

Extrem kurze Zyklen, keine

Wartezeit

Beste Testkultur

Disziplin

Page 13: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Jenkins Pipeline

13

• Was ist eine Pipeline?

• Sammlung von Jenkins-Plugins

• Build-Workflow -> Build-Pipeline

• Jenkinsfile

Page 14: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Pipeline-Aufbau / Konzept

14

• Pipeline

• Node / Agent

• Stage

• Step

Page 15: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Warum Pipeline?

15

• Erstellt automatisch einen Build

• Pipeline as Code

• Single source of truth

Page 16: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Pipeline Funktionen

16

• Code

• Langlebig

• Pausierbar

• Vielseitig

• Erweiterbar

Page 17: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Überblick über die Pipeline-Syntax

17

• Skript-Pipeline-Syntax

• Folgt einem zwingenden Programmiermodell (Groovy)

• Deklarative Pipeline-Syntax

• vereinfachte syntaktische Funktionen

• erleichtert lesen und schreiben

Page 18: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Jenkins Pipeline

18

Deklarativen Pipeline-Syntax Skript-Pipeline-Syntax

Page 19: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Ablauf einer Pipeline

19

Page 20: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

AB HIER GEHT’S WEITER…

20

Page 21: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

ZURÜCK AUS DER WERBE PAUSE

WEITER GEHT’S MIT…

21

Page 22: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Alternativen

22

• TeamCity

(JetBrains, die IntelliJ guys)

• Bamboo

(Atlassian, die Jira guys. Und Trello.Und BitBucket. Und HipChat.)

…und viele Andere!

Page 23: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

*: from $888

23

Page 24: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

TeamCity

24

• Pros:• Simples Setup

• Schönes, intuitives Interface

• Pre-Commit Tests

• Viele out-of-box features, integriert ohne Plugins in Drittanbietersoftware

• Cons:• Wenig Plugins, kleinere Community

• Man kann/muss zahlen

Page 25: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Bamboo

25

• Pros:• Harmoniert perfekt mit Jira, Trello und BitBucket

• Dedizierte Agents

• Deployment-Report: Zusammenfassung aller Änderungen und (Jira-) Vorgänge seit dem letzten Deployment

• Deployet direkt in Mobile Stores

• Cons:• Kostet immer*

• Wenig Plugins, kleinere Community

• Cloud Support kostet

*: 10$ für das kleinste Paket werden an Room to Read gespendet

Page 26: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Jenkins

26

• Pros:• Größte Community mit Unmengen an Plugins

• Open Source: kostenlos, voller Einblick

• Cons:• „kompliziertes“ Setup

• Kaum out-of-the-box features, man braucht Plugins

• Scaled nicht so gut

• Gute Dokumentation, aber kein Support

Page 27: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Quellen

• https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Jenkins_logo.svg/2000px-Jenkins_logo.svg.png

• http://www.thegraphicmac.com/free-font-dummies

• https://jenkins.io/artwork/

• https://swampup.jfrog.com/speaker/kohsuke-kawaguchi/kohsuke-kawaguchi-2-2/

• https://jenkins.io/blog/2017/08/23/pull-requests-and-more/

• https://alphanodes.com/de/deployment-pipeline-infografik

• https://www.blazemeter.com/blog/how-to-use-the-jenkins-scripted-pipeline

• https://dev.to/iriskatastic/start-continuous-integration-with-jenkins-pipeline-4edb

27

Page 28: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

Quellen• https://de.atlassian.com/software/bamboo

• https://www.jetbrains.com/teamcity/

• https://stackify.com/jenkins-teamcity-bamboo/

• https://www.infoworld.com/article/3070454/application-development/beyond-jenkins-7-devops-tools.html

• http://home.edvsz.fh-osnabrueck.de/skleuker/CSI/Werkzeuge/Jenkins/

• https://de.wikipedia.org/wiki/Jenkins_(Software)

• https://www.cloudbees.com/blog/continuous-delivery-jenkins-part-3

• https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff

• https://www.atlassian.com/continuous-delivery/ci-vs-ci-vs-cdhttps://www.informatik-aktuell.de/entwicklung/methoden/von-continuous-integration-zu-continuous-delivery-mit-jenkins-workflow.html

28

Page 29: Gliederung€¦ · •TeamCity (JetBrains, die IntelliJ guys) •Bamboo (Atlassian, die Jira guys. Und Trello. Und BitBucket. Und HipChat.) …und viele Andere! *: from $888 23. TeamCity

DANKE DASS DU DA WARST!

WINKE, WINKE!

29