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
Continuous Integration and Automation on Jenkins
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Akhyar Amarullah
February 28, 2016
Programming
75
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Integration and Automation on Jenkins
Automate all the things!
Akhyar Amarullah
February 28, 2016
More Decks by Akhyar Amarullah
See All by Akhyar Amarullah
OnebitHQ Open-source Projects
akhyrul
0
980
Reactive Android: just a little introduction
akhyrul
0
500
Mobile App Data Caching
akhyrul
0
400
Development Best Practices for Continuous Deployment Environment
akhyrul
0
390
Intro to Reactive Java on Android
akhyrul
0
93
Good Practices on Mobile App User Engagement
akhyrul
1
1.1k
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
170
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
160
AWSに止められる覚悟してますか?
morizo_1984
1
370
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
360
一人だけ、Kiroが静止する日
hideg
0
130
Webの地図
yosuke_furukawa
PRO
6
4.8k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
170
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
160
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
370
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
360
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Designing Experiences People Love
moore
143
24k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
670
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
490
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
920
sira's awesome portfolio website redesign presentation
elsirapls
0
420
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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