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
Jenkins + Bitbucketでアプリリリースを自動化してみた
Search
umechanhika
October 31, 2018
Programming
1
620
Jenkins + Bitbucketでアプリリリースを自動化してみた
これまで手動で行なっていたアプリリリース作業を、JenkinsとBitbucketを組み合わせて自動化した話です。
umechanhika
October 31, 2018
Tweet
Share
More Decks by umechanhika
See All by umechanhika
My Workspace [2020/08版]
umechanhika
0
90
My Workspace [2020/06版]
umechanhika
0
34
Badging for Tabs and Bottom Navigation
umechanhika
0
320
Capture view and Register to gallery
umechanhika
0
46
Shape Design with Material Components
umechanhika
3
230
Firebase MLKit AutoML Vision Edgeを触ってみた
umechanhika
3
510
Google Play Consoleの時間指定公開のハマりポイント
umechanhika
1
1.5k
UIテスト初心者のチームにUIテスト自動化を導入した話
umechanhika
0
110
GoogleI/Oアプリのようなフィルター機能を実装する
umechanhika
2
490
Other Decks in Programming
See All in Programming
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.3k
AIコーディングの理想と現実
tomohisa
20
25k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.6k
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
190
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.1k
状態と共に暮らす:ステートフルへの挑戦
ypresto
1
350
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
330
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1k
Unlock the Potential of Swift Code Generation
rockname
0
250
PHP で学ぶ OAuth 入門
azuki
1
190
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
150
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
150
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Invisible Side of Design
smashingmag
299
50k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Visualization
eitanlees
146
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Code Reviewing Like a Champion
maltzj
522
40k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
Jenkins + Bitbucketで アプリリリースを⾃動化してみた
⾃⼰紹介 梅津 光(ウメツ ヒカル) 株式会社ナビタイムジャパン 新卒⼊社 2016~
Androidアプリ開発 バスNAVITIME 法⼈系アプリ 趣味 個⼈アプリ開発 最近Flutterに興味あり Work Private
今⽇話すこと ⾃動化に⾄った背景 ⾃動リリースの仕組み メリット/デメリット まとめ 今⽇話さないこと
Jenkinsの構築⽅法 Bitbucketの導⼊⽅法 具体的なパラメータ
⾃動化に⾄った背景 これまでのリリースフロー リリース⽇を決める。 メンバーそれぞれがいくつかのアイテムを対応。 それぞれの対応をリリースブランチにマージ。
⼿動でビルドジョブを実⾏。 この運⽤の課題点 リリース⽇になるまで対応が積まれまくる。 影響範囲が広くなり検証担当の負担に。 ⼿動実⾏なので時々パラメータを間違える。
そんな折、ある⽇の会話 社内のJenkinsおじさん え︖まだ⼿動実⾏なんてしてるの︖ いまどき⼿動実⾏なんて時代遅れだよ︕ え︖そうなんですか︕︖ そうだよ、 これを使えば簡単に⾃動化できるよ。 社内のJenkinsおじさん
Pipeline しかし、、、
Pipelineを勧められたが、、、 運⽤⾯の課題 チームにはJenkins初⼼者が多い。(⾃分含め) したがって導⼊コストが⾼そう。 (Jenkinsおじさんからもある程度知識のある メンバーがいないと厳しいとの助⾔も。)
リリースフローの要件 リリース対象はリリースブランチのみ。 各ブランチ毎に成果物を作る必要はない。 (リリースブランチ以外は開発途中のブランチの ため。)
Pipeline Webhook to Jenkins for Bitbucket
Webhook to Jenkins for Bitbucketとは BitbucketからJenkinsへ通知を送ることができる ポストレシーブといって、コミットが処理された後に実⾏される仕組み
例)リリースブランチに新機能追加のブランチをマージ→それをトリガーに通知を送信
⾃動リリースの流れ 開発者 検証担当 リリースブランチに 変更をマージ Webhookで Jenkinsジョブを起動 アプリのビルドや リリースノートの⽣成を実⾏ 成果物を確認
メリット 細かい対応毎にアプリを検証できるようになった。 →検証担当の負担が軽減された。 ⼈⼿を煩わせることがなくなった。 →リリースのハードルが下がった。
デメリット 検証不要な⼩さい修正でもアプリがリリースされてしまう。 フォーマット修正 リネーム ect…
α版/β版などの採番ができない。
まとめ ⼿動で動かしていたアプリビルドジョブを⾃動実⾏するように改善 リリースブランチの変更をトリガーにJenkinsへ通知を送るWebhook to Jenkins for Bitbucket
細かいリリースが可能になり検証の負担が軽減 微修正でもリリースされるのが若⼲デメリット
ご清聴ありがとうございました︕