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
600
Jenkins + Bitbucketでアプリリリースを自動化してみた
これまで手動で行なっていたアプリリリース作業を、JenkinsとBitbucketを組み合わせて自動化した話です。
umechanhika
October 31, 2018
Tweet
Share
More Decks by umechanhika
See All by umechanhika
My Workspace [2020/08版]
umechanhika
0
86
My Workspace [2020/06版]
umechanhika
0
33
Badging for Tabs and Bottom Navigation
umechanhika
0
300
Capture view and Register to gallery
umechanhika
0
42
Shape Design with Material Components
umechanhika
3
210
Firebase MLKit AutoML Vision Edgeを触ってみた
umechanhika
3
500
Google Play Consoleの時間指定公開のハマりポイント
umechanhika
1
1.4k
UIテスト初心者のチームにUIテスト自動化を導入した話
umechanhika
0
100
GoogleI/Oアプリのようなフィルター機能を実装する
umechanhika
2
470
Other Decks in Programming
See All in Programming
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
660
MCP with Cloudflare Workers
yusukebe
2
220
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
450
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
talk-with-local-llm-with-web-streams-api
kbaba1001
0
170
From Translations to Multi Dimension Entities
alexanderschranz
2
130
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
150
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
920
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
980
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
Facilitating Awesome Meetings
lara
50
6.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
4 Signs Your Business is Dying
shpigford
181
21k
Code Review Best Practice
trishagee
65
17k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Six Lessons from altMBA
skipperchong
27
3.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
RailsConf 2023
tenderlove
29
940
Producing Creativity
orderedlist
PRO
341
39k
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
細かいリリースが可能になり検証の負担が軽減 微修正でもリリースされるのが若⼲デメリット
ご清聴ありがとうございました︕