Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Managing Jenkins with Gradle
Search
Gary Hale
June 13, 2014
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Managing Jenkins with Gradle
From Gradle Summit 2014
Gary Hale
June 13, 2014
More Decks by Gary Hale
See All by Gary Hale
Building a Continuous Delivery Pipeline with Gradle and Jenkins
ghale
0
100
Introduction to Glu
ghale
0
110
Introduction to Liquibase
ghale
0
950
Gradle - Build Automation Made Easy
ghale
0
83
Other Decks in Programming
See All in Programming
typoなんかねぇよ
raspython3
0
690
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
200
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
210
What We Talk About When We Talk About XP
m_seki
2
460
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
190
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
270
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
150
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
920
Family mrubyの進捗
kishima
1
110
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
5.8k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
The untapped power of vector embeddings
frankvandijk
2
1.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Producing Creativity
orderedlist
PRO
348
41k
My Coaching Mixtape
mlcsv
0
310
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Embracing the Ebb and Flow
colly
88
5.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
440
Transcript
Managing Jenkins With Gradle Gary Hale Gradle Summit 2014
Who is this guy? 15+ years in DevOps Gradle Weenie
Compulsive Automator
What you should do Ask questions! Interrupt / Interact Complete
the Evaluation
What We’ll Talk About Evolution Jenkins Plugin Basics Demonstrations
Extensible Open Source Active Ecosystem Why is Jenkins Awesome? Jenkins
Open Source Distributed Model Distributed Model Extensible
Why is Jenkins Not Awesome? When we get beyond a
handful of Jobs, it becomes tedious to maintain
Couple Configuration with Project Track Changes Motivations Discipline Track Changes
Couple Configuration with Project Perform Validations/Comparison
Leverage Existing Skillset DRY Delegate Minimize Overhead Rebuild from Scratch
Delegate Motivations Maintenance Minimize Overhead DRY Rebuild from Scratch Leverage Existing Skillset Enforce Standards
Evolution of Jenkins Management Manual Solutions Manual Edits Copy From
Existing Script Solutions Script Console System Groovy Script Scriptler Job-like Solutions Jenkins Template Plugin Jenkins Job DSL Plugin External Solutions Jenkins Job Builder Gradle Jenkins Plugin Growth / Complexity
Manual Solutions “Nothing is as simple as we hope it
will be.” Jim Horning
Limited Parameters Groovy Jenkins Model Extremely Powerful Script Solutions Limited
Parameters Jenkins Model Extremely Powerful Groovy Better for One-offs
Many-to-one Template Jobs Job-like Solutions Template Jobs Job Template Plugin
Many-to-one Best When Combined
Storable No Validation Template Jobs Powerful DSL Job-like Solutions Powerful
DSL Job DSL Plugin Storable Template Jobs No Validation One instance
Openstack Clean Configuration Python/Yaml External Solutions Python/Yaml Jenkins Job Builder
Openstack Purely Declarative Clean Configuration
XML Manipulation Template Jobs Jenkins Job DSL Programmatic External Solutions
Programmatic Gradle Jenkins Plugin XML Manipulation Jenkins Job DSL Template Jobs Create/Delete/Validate
Does it make sense to manage jenkins with a build
automation tool? Question (Think About It…)
Gradle Jenkins Plugin Concepts Gradle (static model) Templates Views Jobs
Jenkins (live model) Views Jobs Updates
deleteJenkinsItems dumpJenkinsItems validateJenkinsItems updateJenkinsItems Gradle Jenkins Plugin updateJenkinsItems Tasks deleteJenkinsItems
validateJenkinsItems dumpJenkinsItems dumpRemoteJenkinsItems
Gradle Jenkins Plugin jenkins { servers { … } templates
{ … } jobs { … } views { … } } Conventions
Servers servers { server1 { url ‘http://jenkins.somewhere.com’ username ‘user1’ password
‘password1’ } } Secured
Servers servers { server1 { url ‘http://jenkins.somewhere.com’ secure false }
} Unsecured
Templates templates { template1 { xml file(‘template.xml’) } } XML
Templates templates { template1 { dsl file(‘template.dsl’) } } DSL
Jobs jobs { build_job1 { server servers.server1 definition { xml
file(‘build_job1.xml’) } } } XML
Jobs jobs { build_job1 { server servers.server1 dsl { using
‘template1’ } } } DSL
Views views { view1 { xml file(‘view1.xml’) } } XML
Views views { view1 { dsl { … } }
} DSL
Multiple DSL Form jenkins { defaultServer servers.server1 dsl fileTree(‘jenkins’).include(‘*.dsl’) dsl
{ … } }
Demonstrations
Does it make sense to manage jenkins with a build
automation tool? Question
Is Gradle a Build Automation Tool? The Right Question
Is a Swiss army knife a knife?
References https://github.com/ghale/gradle-jenkins-plugin https://github.com/ghale/summit2014