Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Buildautomatisierung mit Jenkins, wirklich!

Buildautomatisierung mit Jenkins, wirklich!

Vorgetragen auf der SEROM (https://serom.de) am 04.11.2016 in Vechta.

Christian Siewert

November 04, 2016
Tweet

More Decks by Christian Siewert

Other Decks in Programming

Transcript

  1. job('Project B') { customWorkspace('${REPO}/ProjectB') steps { batchFile('call build.bat') } publishers

    { warnings(['Delphi'], [:]) { thresholds(['unstableTotal':['all':0]]) } mailer('${DEV_MULTIEYE}') hipChat { notifyBackToNormal() notifyFailure() notifyNotBuilt() notifyUnstable() rooms('123456') } } } job('Project A') { customWorkspace('${REPO}/ProjectA') steps { batchFile('call build.bat') } publishers { warnings(['Delphi'], [:]) { thresholds(['unstableTotal':['all':0]]) } mailer('${DEV_MULTIEYE}') hipChat { notifyBackToNormal() notifyFailure() notifyNotBuilt() notifyUnstable() rooms('123456') } } } job('Project A') { customWorkspace('${REPO}/ProjectA') steps { batchFile('call build.bat') } publishers { warnings(['Delphi'], [:]) { thresholds(['unstableTotal':['all':0]]) } mailer('${DEV_MULTIEYE}') hipChat { notifyBackToNormal() notifyFailure() notifyNotBuilt() notifyUnstable() rooms('123456') } } } job('Project B') { customWorkspace('${REPO}/ProjectB') steps { batchFile('call build.bat') } publishers { warnings(['Delphi'], [:]) { thresholds(['unstableTotal':['all':0]]) } mailer('${DEV_MULTIEYE}') hipChat { notifyBackToNormal() notifyFailure() notifyNotBuilt() notifyUnstable() rooms('123456') } } }
  2. # concourse.yml jobs: - name: hello-world plan: - task: say-hello

    config: platform: linux image_resource: type: docker-image # travis.yml language: csharp solution: solution-name.sln script: say-hello - ./build.sh - ./test.sh - grep "Test Results" build.log # concourse.yml jobs: - name: hello-world plan: - task: say-hello config: platform: linux image_resource: type: docker-image # concourse.yml jobs: - name: hello-world plan: - task: say-hello config: platform: linux image_resource: type: docker-image # travis.yml language: csharp solution: solution-name.sln script: say-hello - ./build.sh - ./test.sh - grep "Test Results" build.log # concourse.yml jobs: - name: hello-world plan: - task: say-hello config: platform: linux image_resource: type: docker-image
  3. { "repositories": [ … ], "environment": [ … ], "tests":

    [ … ], "projects": [ … ], "tools": [ … ], "packaging": [ … ] }
  4. { "repositories": [ { "type": "git", "url": "https://server:resources.git", "branch": "master"

    } ], "environment": [ … ], "tests": [ … ], "projects": [ … ], "tools": [ … ], "packaging": [ … ] }
  5. … "projects": [ { "name": "Projekt A", "path": "/core/projectA", "filename":

    "Projekt_A.sln", "type": "msbuild-vc12" }, { "name": "Projekt B", "path": "/core/projectB", "filename": "Projekt_B.dproj", "type": "msbuild-dcc" }, { "name": "Projekt C", "path": "/core/projectC", "filename": "Projekt_C.sln", "type": "msbuild-vc12", "warnings": { "limit": 4 } }, … "name": "Projekt A", "path": "/core/projectA", "filename": "Projekt_A.sln", "type": "msbuild-vc12" "name": "Projekt B", "path": "/core/projectB", "filename": "Projekt_B.dproj", "type": "msbuild-dcc" "warnings": { "limit": 4 }
  6. Bilder i-write-co.de @csiewert711 Ford Company, Public Domain, https://commons.wikimedia.org/wiki/File:A-line1913.jpg fxxu, CC0

    Public Domain, https://pixabay.com/photo-1669187/ condesign, CC0 Public Domain, https://pixabay.com/photo-514998/ Ana_J, CC0 Public Domain, https://pixabay.com/photo-429228/ Forever Alone, http://knowyourmeme.com/memes/forever-alone Luis de la Cerda Gonzalez, FCA: Corporate, New 2012 Fiat 500, CC BY-NC-ND 2.0 (https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode), https://www.flickr.com/photos/chryslergroup/5515673032/