Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Bitrise Pipelinesを使って リリース作業を効率化する horitamon • 2023 年 1月 17 日 @Voicy tech bar
Slide 2
Slide 2 text
堀 多聞 - horitamon - Androidエンジニア5年目 2020/9〜 Voicy 品質改善チーム 最近はiOSの実装時間の方が長い Twitter: @horitamon
Slide 3
Slide 3 text
© Voicy, Inc. ❶ Bitrise Pipelinesとは ❷ Bitrise Pipelinesでリリース作業の効率化 ❸ Pipelinesを使うメリット ❹ 少しだけ困ったこと 今日お話しすること
Slide 4
Slide 4 text
Bitrise Pipelinesとは
Slide 5
Slide 5 text
© Voicy, Inc. Bitriseとは https://bitrise.io/ モバイル特化型のCI/CDツール
Slide 6
Slide 6 text
© Voicy, Inc. Bitrise Pipelinesとは ● Bitriseのフロー構成の最上位、 元々あったWorkflowという処理のまとまりのさらに上位の概念 ● クレジットベース(時間消費型)のアカウントでのみ利用可能 ● 公式ブログ
Slide 7
Slide 7 text
© Voicy, Inc. 並列実行 順次実行 Bitrise Pipelinesの特徴
Slide 8
Slide 8 text
© Voicy, Inc. ● Stage=Workflowのまとまり ● 同じStageのWorkflowは並列で実行される Stage 並列実行 Workflow A Workflow B Workflow C
Slide 9
Slide 9 text
© Voicy, Inc. 順次実行 ● Stage内のWorkflowの全てが完了してから次のStageに進む Stage 1 Workflow A Workflow B Workflow C Stage 2 Workflow D Workflow E Stage 3 Workflow F
Slide 10
Slide 10 text
Bitrise Pipelinesで リリース作業の効率化
Slide 11
Slide 11 text
© Voicy, Inc. Voicyアプリのリリース手順 Workflow 実行トリガー Unit Test Mainブランチへのマージ QA環境版アプリをApp Testerへ配信 手動 本番アプリをストアへアップロード Tag 次回releaseブランチの作成 Tag それぞれ別作業でした…
Slide 12
Slide 12 text
© Voicy, Inc. 並列で進める 効率を上げるには 自動で次に進める
Slide 13
Slide 13 text
© Voicy, Inc. 成功したら自動で次へ進むようにする Unit Test QA版配信 本番アップ ロード release ブランチ作成
Slide 14
Slide 14 text
© Voicy, Inc. 同時に進められるものは同時に Unit Test QA版配信 本番アップロード release ブランチ作成
Slide 15
Slide 15 text
© Voicy, Inc. 全体像 Stageに分ける Stage 1 Unit Test Stage 2 Stage 3 releaseブランチ作成 QA版配信 本番アップロード
Slide 16
Slide 16 text
© Voicy, Inc. 作ってみる ymlファイルを 直接編集する
Slide 17
Slide 17 text
© Voicy, Inc. GUIで組んだWorkflowが記載されている状態
Slide 18
Slide 18 text
© Voicy, Inc. Stageを定義 run_ut Unit Test deploy create_branch release ブランチ作成 QA版配信 本番
Slide 19
Slide 19 text
© Voicy, Inc. Pipelineを定義
Slide 20
Slide 20 text
© Voicy, Inc. 最後にトリガーに追加すれば完成
Slide 21
Slide 21 text
© Voicy, Inc. 実行してみると
Slide 22
Slide 22 text
Pipelinesを使うメリット
Slide 23
Slide 23 text
© Voicy, Inc. 並列実行する方法は元々あった Start BuildとWait for Buildを使う
Slide 24
Slide 24 text
© Voicy, Inc. 元々あった方法 Workflow A Workflow B Workflow C Workflow D Workflow E Workflow F Workflow
Slide 25
Slide 25 text
© Voicy, Inc. クレジットを消費しない 途中からやり直せる Pipelinesを使うメリット
Slide 26
Slide 26 text
© Voicy, Inc. 元々あった方法だと… Workflowを呼ぶWorkflow自体でクレジットを消費する Workflow A Workflow B Workflow C Workflow D Workflow E Workflow F Workflow
Slide 27
Slide 27 text
© Voicy, Inc. Pipeline自体はクレジット消費なし Stage 1 Workflow A Workflow B Workflow C Stage 2 Workflow D Workflow E Stage 3 Workflow F クレジットを消費するのはWorkflowのみ
Slide 28
Slide 28 text
© Voicy, Inc. 「待ち」が無いなら従来の方法でもよい ● 複数のWorkflowを同一トリガーで並列で動かしたいだけ →Start Buildだけでよい ● クレジット消費は少ない Workflow A Workflow B Workflow C start
Slide 29
Slide 29 text
© Voicy, Inc. クレジットを消費しない 途中からやり直せる Pipelinesを使うメリット
Slide 30
Slide 30 text
© Voicy, Inc. 途中で失敗すると… 最初からしかやり直せない Workflow A Workflow B Workflow C Workflow D Workflow E Workflow F Workflow
Slide 31
Slide 31 text
© Voicy, Inc. Pipelineは失敗した時点から再開できる Stage 1 Workflow A Workflow B Workflow C Stage 2 Workflow D Workflow E Stage 3 Workflow F
Slide 32
Slide 32 text
© Voicy, Inc.
Slide 33
Slide 33 text
少しだけ困ったこと
Slide 34
Slide 34 text
© Voicy, Inc. ymlファイルを直接書き換える必要がある ● まだ簡単なフローだから簡単に書けた ● 複雑だと大変かも
Slide 35
Slide 35 text
© Voicy, Inc. 謎にymlファイルがロールバックする ● 同時にWorkflowも作っていた時に ymlファイルからPipelineがごっそり消えた →Git管理しましょう
Slide 36
Slide 36 text
© Voicy, Inc. まとめ ❶ Pipelinesを使うことで既存のWorkflowの自動化・並列化が手軽にできる ❷ Pipeline自体はクレジットを消費しない ❸ 途中のWorkflowが失敗してもそこからやり直せる ❹ ymlを直接編集する必要がある
Slide 37
Slide 37 text
© Voicy, Inc. Voicy のエンジニアが テックや開発組織について いろいろ語っています voi-chord配信中!
Slide 38
Slide 38 text
音声×テクノロジーでワクワクする社会をつくる