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
出来るCI
Search
Suwashimizu
July 19, 2017
0
460
出来るCI
BitbucketPiplinesでCIを導入した話
Suwashimizu
July 19, 2017
Tweet
Share
More Decks by Suwashimizu
See All by Suwashimizu
IntelliJのTemplateを使おう
suwashimizu
2
370
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Building Applications with DynamoDB
mza
96
6.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
GitHub's CSS Performance
jonrohan
1032
460k
Done Done
chrislema
185
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Transcript
始めようCI BITBUCKET PIPELINES で 出来るCI
自己紹介 名前:Kanege 所属:AnysenseAndroid エンジニア 好きなもの:kotlin と と 挨拶は「こっとり~ん」
CI is 何? 継続的インテグレーション コンパイルやテストといったビルド処理を一日 に何度も実行することにより、フィードバック サイクルを短くし、品質を向上させる仕組み。 結合テストの自動化、専用のCI サーバーで行うの が望ましい。
つまり・・ 動作環境は別々でも 検証環境を1箇所にすることで 正しく動作していることをが担保できる。
pipelines is 何 Atlassian のBitbucket で提供されているCI サービス docker をベースとしている プロジェクトのroot
にbitbucket-pipelines.yml に設 定を記述する webhooks を使用して外部サービスと連携が可能 slack でテストの結果を通知したり,aws にデプ ロイしたり
導入事例
起こっていた問題 いつの間にかTest が壊れてる問題
起こっていた問題 PR1 -> develop: 既存のTest 破壊,Test せずにマージ
起こっていた問題 PR1 -> develop: 既存のTest 破壊,Test せずにマージ PR2 -> develop:Test
せずにマージ
起こっていた問題 PR1 -> develop: 既存のTest 破壊,Test せずにマージ PR2 -> develop:Test
せずにマージ PR3 -> develop: ここでTest して初めて問題発覚
破壊したやつ誰だお
起こっていた問題 どうすれば良かった? Test を回すことが浸透していなかった -> Test への 意識を上げる PR 時にtest
を回すように心がける -> 忘れること もある 個人の意識で解決できる問題なのだろうか?
人に依存するよりシステムに任せよう。
PIPELINES で解決 開発環境:Android Build-Tools 24.0.0 develop ブランチに変更があった際にpipelines が 走る ./gradlew
test でTest を実行 結果をslack に通知する
Android だとこんな設定です! bitbucket-pipelines.yml image: uber/android-build-environment pipelines: branches: develop://実行 指定 -
step://step 定義, script:// 指定 - mkdir -p "$ANDROID_HOME/licenses" - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55 - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd - echo y | android update sdk --no-ui -a - touch local.properties - ./gradlew dependencies || true - ./gradlew test // test実行
develop ブランチに変更があると pipelines が走り slack に通知してくれるようになる!
開始時 成功時 失敗時
異常があればすぐに気付けるので 原因の特定が用意になった!
None
まとめ テスト自動化とその結果をslack にPOST してくれ る! バグがあれば即行気付ける、健全な状態を保て る! ワークフローを1 つに纏めてくれる!
自動化を進めて開発に集中しよう!
ご清聴ありがとうございました