Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Continuous Integration and Automation on Jenkins
Search
Akhyar Amarullah
February 28, 2016
Programming
0
57
Continuous Integration and Automation on Jenkins
Automate all the things!
Akhyar Amarullah
February 28, 2016
Tweet
Share
More Decks by Akhyar Amarullah
See All by Akhyar Amarullah
OnebitHQ Open-source Projects
akhyrul
0
960
Reactive Android: just a little introduction
akhyrul
0
480
Mobile App Data Caching
akhyrul
0
380
Development Best Practices for Continuous Deployment Environment
akhyrul
0
360
Intro to Reactive Java on Android
akhyrul
0
77
Good Practices on Mobile App User Engagement
akhyrul
1
1.1k
Other Decks in Programming
See All in Programming
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
6
570
Arm移行タイムアタック
qnighy
0
340
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
210
DevTools extensions で 独自の DevTool を開発する | FlutterKaigi 2024
kokiyoshida
0
110
Remix on Hono on Cloudflare Workers
yusukebe
1
310
Jakarta EE meets AI
ivargrimstad
0
750
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
650
Jakarta EE meets AI
ivargrimstad
0
690
flutterkaigi_2024.pdf
kyoheig3
0
160
ヤプリ新卒SREの オンボーディング
masaki12
0
130
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.6k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
4 Signs Your Business is Dying
shpigford
180
21k
Done Done
chrislema
181
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Happy Clients
brianwarren
98
6.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
GraphQLとの向き合い方2022年版
quramy
43
13k
Documentation Writing (for coders)
carmenintech
65
4.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Transcript
Continuous Integration and Automation on Jenkins Akhyar Amarullah <
[email protected]
> Onebit
Engineering Brownbag Session Friday, 28 February 2016
Continuous Integration is a software development practice where members of
a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Martin Fowler
Why Continuous Integration Rapid Feedback Reduced Risk Collective Ownership Continuous
Deployment Offload from people
Jenkins is an open- source continuous integration server
Popular Hosted Jenkins Alternatives Travis CI Shippable Drone.io etc
But why Jenkins? Flexibility
Basic Jenkins functionalities Notice a change Check out source code
Execute builds/tests Record and publish results Notify developers
Jenkins Terminologies - Job - Workspace - Environment - Source
VCS - Build Step - Post-Build Step - Artifact - Nodes - Master - Slave - Plugins
Sample CI pipeline
Continuous Integration Best Practices Single Source Repository Commit often Make
Your Build Self-Testing Automate the Build Build fast
Automated Testing Best Practices Start from clean state Isolate as
much as possible
Jenkins Best Practice Separate master and slave nodes Label slave
nodes based on available features Automate slave provisioning (e.g. Ansible, Docker) Notify developers on failed build (e.g. email, slack) Docker reduces app environment setup headaches a lot
Future Plan
Automate code style review and approval Automate service deployment Automate
APK/IPA deliveries to tester/end-users Automate scaling Automate the Jenkins itself Future Plan
None