Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
X tips [X==9] for building a Bulletproof Deplo...
Search
oshai
July 13, 2017
Technology
0
50
X tips [X==9] for building a Bulletproof Deployment Pipeline with Jenkins
JUC 2017 presentation
oshai
July 13, 2017
Tweet
Share
More Decks by oshai
See All by oshai
Maintaining an Open Source The Good, Bad & Ugly
oshai
0
33
KScript
oshai
0
18
Klean Code with Kotlin
oshai
0
67
JVM languages shootout - Java, Scala & *Kotlin*
oshai
0
49
Koroutinify ; Lessons learned from applying Coroutines in Kotlin Backend ; Deep dive into Coroutines
oshai
1
120
Klean that Code, Boil those Boilerplates
oshai
2
80
Scala vs. Kotlin; Friend or Foe?
oshai
0
170
No forks, One star. Now what?! — How I published my Kotlin Open-Source lib
oshai
0
75
Scala--pack your Future[T]; Kotlin is coming! (Kotlin TLV)
oshai
0
190
Other Decks in Technology
See All in Technology
【保存版】「ガチャ」からの脱却:Gemini × Veoで作る、意図を反映するAI動画制作ワークフロー
nekoailab
0
120
MAP-7thplaceSolution
yukichi0403
2
230
mablでリグレッションテストをデイリー実行するまで #mablExperience
bengo4com
0
450
Introduction to Bill One Development Engineer
sansan33
PRO
0
320
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
2025 DORA Reportから読み解く!AIが映し出す、成果を出し続ける組織の共通点 #開発生産性_findy
takabow
2
920
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
210
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
1.1k
命名から始めるSpec Driven
kuruwic
3
780
AI駆動開発によるDDDの実践
dip_tech
PRO
0
190
意外と難しいドメイン駆動設計の話
zozotech
PRO
0
830
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
540
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
How STYLIGHT went responsive
nonsquared
100
5.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Documentation Writing (for coders)
carmenintech
76
5.2k
Bash Introduction
62gerente
615
210k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Optimizing for Happiness
mojombo
379
70k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Typedesign – Prime Four
hannesfritz
42
2.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Designing for Performance
lara
610
69k
Transcript
X tips [X==9] for building a Bulletproof Deployment Pipeline with
Jenkins JULY 13 / TLV, Israel Ohad Shai Software Engineer && Team Leader @ Outbrain
About Me • Developing Software since 2005 • Mainly in
Java and JVM languages • Works on backend systems • Using Jenkins since 2011 • Co-author of codeine open-source tool for Continuous Deployment on large scale
Deployment Pipeline • The driver tool for Continuous-Delivery • Features:
• Complex build flows • Job as a Code (aka JenkinsFile) • Suspend/Resume and survive restarts of Jenkins
Tip #1 You should have done this ages ago •
Define
Tip #2 Start simple
Tip #3 Use Blue Ocean view
Tip #4 Validate artifacts and source code consistency across pipeline
Tip #5 Use commit hook with message regex gitCommitMessage =
sh(returnStdout: true, script: 'git log -1 --pretty=%B').trim() deployToProd = (gitCommitMessage =~ /#d2p/ || params.DEPLOY_TAG == "#d2p") //we also allow '#d2p' when triggering manually
Tip #6 pipeline { agent { docker 'maven:3-alpine' } stages
{ stage('Example Build') { steps { sh 'mvn -B clean verify' } } } } node { stage('Example') { try { sh 'exit 1' } catch (exc) { echo 'Something failed, I should sound the klaxons!' throw exc } } } Declarative Pipeline Scripted Pipeline
Tip #7 Ask for user authorization on sensitive operations timeout(time:5,
unit:'HOURS') { input message: ‘Deploy to production?', ok: 'Deploy!' } http://jenkins508.rssing.com/chan-25443405/all_p18.html
Tip #8 Integrate slack
Tip #9 Make the pipeline fast stage("Testing: phase a") {
parallel 'JUnit': { stage("junit") { sh '...' } }, 'Deploy to simulator': { stage("Deploy to simulator") { sh '...' } } }
Bonus Tip Noise Cancelling Headphones
Questions? Wanna try it? We’re hiring!
Questions? Wanna try it? We’re hiring!
Enjoy piping! https://weeklygravy.com/fashion-grooming/how-old-do-you-have-to-be-before-you-can-smoke-a-pipe/ @OhadShai