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
Bitrise Pipelinesを使って リリース作業を効率化する
Search
horitamon
January 17, 2023
0
57
Bitrise Pipelinesを使って リリース作業を効率化する
horitamon
January 17, 2023
Tweet
Share
More Decks by horitamon
See All by horitamon
Kotlin Multiplatformで考えるクリーンアーキテクチャ
horitamon
0
84
スタートアップ企業のフェーズ転換期を乗り越えるためのリアーキテクト戦略
horitamon
0
500
ActでGithub Actionsの動作確認をする
horitamon
0
980
コルーチンを使って処理の見通しをよくする
horitamon
2
2.2k
解決むずかったバグ3選
horitamon
0
370
「OK Google」でアプリの機能を呼び出してみる
horitamon
0
1.1k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
Unsuck your backbone
ammeep
669
57k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
It's Worth the Effort
3n
183
28k
How STYLIGHT went responsive
nonsquared
96
5.2k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
110
Faster Mobile Websites
deanohume
305
30k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Done Done
chrislema
182
16k
Transcript
Bitrise Pipelinesを使って リリース作業を効率化する horitamon • 2023 年 1月 17 日
@Voicy tech bar
堀 多聞 - horitamon - Androidエンジニア5年目 2020/9〜 Voicy 品質改善チーム 最近はiOSの実装時間の方が長い
Twitter: @horitamon
© Voicy, Inc. ❶ Bitrise Pipelinesとは ❷ Bitrise Pipelinesでリリース作業の効率化 ❸
Pipelinesを使うメリット ❹ 少しだけ困ったこと 今日お話しすること
Bitrise Pipelinesとは
© Voicy, Inc. Bitriseとは
https://bitrise.io/ モバイル特化型のCI/CDツール
© Voicy, Inc. Bitrise Pipelinesとは • Bitriseのフロー構成の最上位、 元々あったWorkflowという処理のまとまりのさらに上位の概念 • クレジットベース(時間消費型)のアカウントでのみ利用可能
• 公式ブログ
© Voicy, Inc. 並列実行 順次実行 Bitrise Pipelinesの特徴
© Voicy, Inc. • Stage=Workflowのまとまり • 同じStageのWorkflowは並列で実行される Stage 並列実行 Workflow
A Workflow B Workflow C
© Voicy, Inc. 順次実行 • Stage内のWorkflowの全てが完了してから次のStageに進む Stage 1 Workflow A
Workflow B Workflow C Stage 2 Workflow D Workflow E Stage 3 Workflow F
Bitrise Pipelinesで リリース作業の効率化
© Voicy, Inc. Voicyアプリのリリース手順 Workflow 実行トリガー Unit Test Mainブランチへのマージ QA環境版アプリをApp
Testerへ配信 手動 本番アプリをストアへアップロード Tag 次回releaseブランチの作成 Tag それぞれ別作業でした…
© Voicy, Inc. 並列で進める 効率を上げるには 自動で次に進める
© Voicy, Inc. 成功したら自動で次へ進むようにする Unit Test QA版配信 本番アップ ロード release
ブランチ作成
© Voicy, Inc. 同時に進められるものは同時に Unit Test QA版配信 本番アップロード release ブランチ作成
© Voicy, Inc. 全体像 Stageに分ける Stage 1 Unit Test Stage
2 Stage 3 releaseブランチ作成 QA版配信 本番アップロード
© Voicy, Inc. 作ってみる ymlファイルを 直接編集する
© Voicy, Inc. GUIで組んだWorkflowが記載されている状態
© Voicy, Inc. Stageを定義 run_ut Unit Test deploy create_branch
release ブランチ作成 QA版配信 本番
© Voicy, Inc. Pipelineを定義
© Voicy, Inc. 最後にトリガーに追加すれば完成
© Voicy, Inc. 実行してみると
Pipelinesを使うメリット
© Voicy, Inc. 並列実行する方法は元々あった Start BuildとWait for Buildを使う
© Voicy, Inc. 元々あった方法 Workflow A Workflow B Workflow C
Workflow D Workflow E Workflow F Workflow
© Voicy, Inc. クレジットを消費しない
途中からやり直せる Pipelinesを使うメリット
© Voicy, Inc. 元々あった方法だと… Workflowを呼ぶWorkflow自体でクレジットを消費する Workflow A Workflow B Workflow
C Workflow D Workflow E Workflow F Workflow
© Voicy, Inc. Pipeline自体はクレジット消費なし Stage 1 Workflow A Workflow B
Workflow C Stage 2 Workflow D Workflow E Stage 3 Workflow F クレジットを消費するのはWorkflowのみ
© Voicy, Inc. 「待ち」が無いなら従来の方法でもよい • 複数のWorkflowを同一トリガーで並列で動かしたいだけ →Start Buildだけでよい • クレジット消費は少ない
Workflow A Workflow B Workflow C start
© Voicy, Inc. クレジットを消費しない
途中からやり直せる Pipelinesを使うメリット
© Voicy, Inc. 途中で失敗すると… 最初からしかやり直せない Workflow A Workflow B Workflow
C Workflow D Workflow E Workflow F Workflow
© Voicy, Inc. Pipelineは失敗した時点から再開できる Stage 1 Workflow A Workflow B
Workflow C Stage 2 Workflow D Workflow E Stage 3 Workflow F
© Voicy, Inc.
少しだけ困ったこと
© Voicy, Inc. ymlファイルを直接書き換える必要がある • まだ簡単なフローだから簡単に書けた • 複雑だと大変かも
© Voicy, Inc. 謎にymlファイルがロールバックする • 同時にWorkflowも作っていた時に ymlファイルからPipelineがごっそり消えた →Git管理しましょう
© Voicy, Inc. まとめ ❶ Pipelinesを使うことで既存のWorkflowの自動化・並列化が手軽にできる ❷ Pipeline自体はクレジットを消費しない ❸ 途中のWorkflowが失敗してもそこからやり直せる
❹ ymlを直接編集する必要がある
© Voicy, Inc. Voicy のエンジニアが テックや開発組織について いろいろ語っています voi-chord配信中!
音声×テクノロジーでワクワクする社会をつくる