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
55
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
950
Reactive Android: just a little introduction
akhyrul
0
470
Mobile App Data Caching
akhyrul
0
360
Development Best Practices for Continuous Deployment Environment
akhyrul
0
350
Intro to Reactive Java on Android
akhyrul
0
73
Good Practices on Mobile App User Engagement
akhyrul
1
1.1k
Other Decks in Programming
See All in Programming
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
180
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
100
Fast JSX: Don't clone props object #28768
yossydev
1
160
Deep Dive into React Stream/Serialize
mugi_uno
3
540
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
480
ゆるい個人開発のススメ
kuroppe1819
10
1k
新宿ダンジョンを可視化してみた
satoshi7190
3
360
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
380
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
使ってみよう Azure AI Document Intelligence
kosmosebi
2
360
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
320
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Making Projects Easy
brettharned
109
5.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
13
8.3k
The Mythical Team-Month
searls
216
42k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Product Roadmaps are Hard
iamctodd
45
9.7k
Scaling GitHub
holman
457
140k
4 Signs Your Business is Dying
shpigford
176
21k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
Writing Fast Ruby
sferik
622
60k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
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