buildserver: buildbot und jenkins - scientific computing ... · einleitung buildserver jenkins...
Post on 20-May-2018
237 Views
Preview:
TRANSCRIPT
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Buildserver: Buildbot und Jenkins
Dennis Markmann
Arbeitsbereich Wissenschaftliches RechnenFachbereich Informatik
Fakultät für Mathematik, Informatik und NaturwissenschaftenUniversität Hamburg
24.11.2016
Dennis Markmann Buildserver: Buildbot und Jenkins 1 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Gliederung (Agenda)
1 Einleitung
2 Buildserver
3 Jenkins
4 Buildbot
5 Travis CI
6 Zusammenfassung
7 LiteraturDennis Markmann Buildserver: Buildbot und Jenkins 2 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Einleitung
Was macht ein Buildserver?
erstellt Software Buildskompiliert Codelegt ein Ziel festpackt die Anwendungentfernt generierte Dateienführt Tests durch
Dennis Markmann Buildserver: Buildbot und Jenkins 3 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Buildserver
Abbildung: Buildserver Übersicht [01]
Dennis Markmann Buildserver: Buildbot und Jenkins 4 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Vorteile von Buildservern
Automatisierung
Zentralisierung
Reporting
Dennis Markmann Buildserver: Buildbot und Jenkins 5 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Continuous Build / Integration / Delivery
Abbildung: Vergleich der CI Stufen [02]
Dennis Markmann Buildserver: Buildbot und Jenkins 6 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Jenkins
ehemals HudsonErscheinungsjahr: 2011Programmiersprache: Javafunktioniert out of the boxriesige Plugin Auswahl (370+)https://jenkins.io/
Abbildung: Jenkins Logo [03]
Dennis Markmann Buildserver: Buildbot und Jenkins 7 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Arbeitsweise
Abbildung: Buildserver Arbeitsweise [04]
Dennis Markmann Buildserver: Buildbot und Jenkins 8 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Realbeispiel Yahoo (2013)
1 Master3 backup Master50 Slaves8000 Builds pro Tag96GB RAM2 x Xeon E5645 2.40GHz, 4.80GT QPI (12 cores, 24 threads)
Dennis Markmann Buildserver: Buildbot und Jenkins 9 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Übersicht
Abbildung: Jenkins Übersicht [05]
Dennis Markmann Buildserver: Buildbot und Jenkins 10 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
UI Erweiterungen
Abbildung: Build-Ampel [06]
Abbildung: Android / IPhone App [07]
Dennis Markmann Buildserver: Buildbot und Jenkins 11 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
UI Erweiterungen
Abbildung: Tech-Dashboard [08]
Dennis Markmann Buildserver: Buildbot und Jenkins 12 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Weitere wichtige Plugins
ClaimBuild timesBuild PipelineJDK Parameter PluginParameterized Trigger Plugin
Dennis Markmann Buildserver: Buildbot und Jenkins 13 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Manueller Versionsbuild
Abbildung: Manueller Build [09]
Dennis Markmann Buildserver: Buildbot und Jenkins 14 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Statistiken
BuildzeitMetriken (z.B. Warnings, FinBugs etc.)Test Abdeckung
Abbildung: Build Statistik [10]
Dennis Markmann Buildserver: Buildbot und Jenkins 15 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Buildbot
Erscheinungsjahr: 2003Programmiersprache: Pythonläuft in Containerhttps://buildbot.net/
Abbildung: Buildbot Logo [11]Dennis Markmann Buildserver: Buildbot und Jenkins 16 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Buildbot
Abbildung: Buildbot Übersicht [12]Dennis Markmann Buildserver: Buildbot und Jenkins 17 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Vergleich
Jenkins Buildbotsimpel und übersichtlich komplizierte Konfigurationbringt viele Funktionen direkt mit out of the box nicht sehr mächtigContinuous Delivery fähig im Standard nicht unterstütztAnt & Maven Support -riesige Plugin Auswahl an Anforderungen ausrichtbar- vollständige Python Unterstützung
Dennis Markmann Buildserver: Buildbot und Jenkins 18 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Travis CI
Erscheinungsjahr: 2011GitHub Verknüpfungsehr schnell einzurichtenhttps://travis-ci.org
Abbildung: Travis CI Logo [13]
Dennis Markmann Buildserver: Buildbot und Jenkins 19 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Zusammenfassung
Buildserverwichtiger Bestandteil professioneller Softwareentwicklungverringert den Aufwand innerhalb des Teamshilft bei der Erhaltung der Softwarequalität
Jenkinsprominenter Vertretereinfach und stark erweiterbar
Buildboteher eine Speziallösungextrem personalisierbar mit Aufwand
Travis CIsehr schnell und einfach einzurichtentoll für kleine GitHub Projekte
Dennis Markmann Buildserver: Buildbot und Jenkins 20 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Literatur I
[01] Buildserver Übersicht. https://1.f.ix.de/developer/imgs/06/7/6/5/7/0/1/c282a21ff5c8369a.png
[02] Vergleich der CI Stufen. http://www.rightscale.com/blog/cloud-management-best-practices/continuous-integration-and-delivery-cloud-how-rightscale-does-it
[03] Jenkins Logo. https://jenkins.io/images/226px-Jenkins_logo.svg.png
[04] Buildserver Arbeitsweise.https://buildbot.net/img/overview.png
[05] Jenkins Übersicht. https://circleci.com/docs/assets/img/docs/jenkins-ui.png
Dennis Markmann Buildserver: Buildbot und Jenkins 21 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Literatur II
[06] Build-Ampel. https://blog.codecentric.de/files/2013/07/polling.png
[07] Android / IPhone App. https://lh5.ggpht.com/ccy5Pcv74AqTTMqELsdjcHeRcFP2LLtCBYsok0y05R5oU0iQ2sBykHR_QMcqbeezoMY=h900
[08] Tech-Dashboard.https://wiki.jenkins-ci.org/download/attachments/68387008/2_Three_columns_view.png
[09] Manueller Build. https://wiki.jenkins-ci.org/download/attachments/67569147/example_screenshot.png?version=1&modificationDate=1370959572000
Dennis Markmann Buildserver: Buildbot und Jenkins 22 / 23
Einleitung Buildserver Jenkins Buildbot Travis CI Zusammenfassung Literatur
Literatur III
[10] Build Statistik. http://devops.com/wp-content/uploads/2015/01/global-build-stats.jpg
[11] Buildbot Logo. https://buildbot.net/img/nut.png
[12] Buildbot Übersicht.http://www.codeproject.com/Articles/438020/Buildbot-Part-II-Running-automated-build-and-tests
[13] Travis CI Logo.https://dka575ofm4ao0.cloudfront.net/pages-hero_covers/normal/27/open-uri20130615-7532-1ele51z
Dennis Markmann Buildserver: Buildbot und Jenkins 23 / 23
top related