Bitbucket Pipelinesについて
-
Upload
growth-xpartners-incorporated -
Category
Technology
-
view
383 -
download
1
Transcript of Bitbucket Pipelinesについて
Bitbucket Pipelinesについて2016/11/2
グロースエクスパートナーズ(株)
大中 浩行
Copyright© 2016 Growth xPartners, Inc. All rights reserved..
Copyright© 2016 Growth xPartners, Inc. All rights reserved.
継続的インテグレーション(CI)サービスの動向につい
て
Bitbucket Pipelinesについて
デモ
まとめ
1Copyright© 2016 Growth xPartners, Inc. All rights reserved.
継続的インテグレーション(CI)サービスの動向について
Copyright© 2016 Growth xPartners, Inc. All rights reserved. 2
継続的インテグレーション(CIサーバー)の分類
オンプレミス
Jenkins / Bamboo / Team Foundation Server / GitLab CI / Drone /
etc
クラウド
Cloudbees / Travis CI / Circle CI / Wercker / Visual Studio Team
Services / drone.io / etc
Bamboo Cloudは2017/5/23でサービス終了
3Copyright© 2016 Growth xPartners, Inc. All rights reserved.
ソースコードと連携するCIサービスの台頭
レポジトリにビルド設定を記述した DSLファイルを
コミットすると、CIサービスが読み取ってビルドを実行
する
Jenkins/Bamboo職人依存からの脱却 ※ただし、程度問題
※ DSL 〜 domain-specific language。ドメイン固有言語。
4Copyright© 2016 Growth xPartners, Inc. All rights reserved.
例:Wercker(wercker.yml)の場合
5Copyright© 2016 Growth xPartners, Inc. All rights reserved.
メリット
CIの設定をバージョン管理できる
ソースコードのバージョン管理とCIのサイクルを統合
できる
6Copyright© 2016 Growth xPartners, Inc. All rights reserved.
Bitbucket Pipelines
ソースコードホスティングサービスBitbucket Cloud
にCIを統合したサービス
2016/10 Atlassian Summitでサービスイン発表
価格: 1セント/1分 (※12月一杯までは無料)
7Copyright© 2016 Growth xPartners, Inc. All rights reserved.
Bitbucket Pipelinesについて
Copyright© 2016 Growth xPartners, Inc. All rights reserved. 8
Bitbucket Pipelinesの特徴
Bitbucket Cloudとの統合
DSL(bitbucket-pipelines.yml)でのビルド記述
Dockerベースのビルド環境
プルリクエストベースのデプロイフロー
9Copyright© 2016 Growth xPartners, Inc. All rights reserved.
Bitbucket Cloudとの統合
10Copyright© 2016 Growth xPartners, Inc. All rights reserved.
DSL(bitbucket-pipelines.yml)でのビルド記述
11Copyright© 2016 Growth xPartners, Inc. All rights reserved.
Dockerベースのビルド環境
Docker Hubで公開されているDockerイメージをビル
ド環境として使用可能
Dockerを使用するメリット
レポジトリおよび、コミットごとに隔離された環境
ビルド環境の構成を自由にカスタム可能
12Copyright© 2016 Growth xPartners, Inc. All rights reserved.
プルリクエストベースのデプロイワークフロー
デプロイを行うには、対象となるブランチに対して、
プルリクエストを作成する
bitbucket-pipelines.yml上でmasterブランチが本番環境に対してデプロ
イするように記述されている場合は、masterブランチに対してプルリクエ
ストを作成する
Travis CIをはじめとするGitHubに統合する形のCIサービスで広く採用さ
れているワークフロー
それに対してBambooは、各ブランチのビルドを起点としてリリースを
作成し、それを各環境にデプロイするワークフロー
13Copyright© 2016 Growth xPartners, Inc. All rights reserved.
デモ
Copyright© 2016 Growth xPartners, Inc. All rights reserved. 14
デモのレポジトリはサンプルは以下で公開しています
https://bitbucket.org/hiroyuki_ohnaka/heroku-
deploy/
15Copyright© 2016 Growth xPartners, Inc. All rights reserved.
変更前のアプリ
16Copyright© 2016 Growth xPartners, Inc. All rights reserved.
ソースコードを編集し、コミットする
17Copyright© 2016 Growth xPartners, Inc. All rights reserved.
masterブランチへのプルリクエストを作成する
18Copyright© 2016 Growth xPartners, Inc. All rights reserved.
プルリクエストの内容および、ステージング環境を確認する
19Copyright© 2016 Growth xPartners, Inc. All rights reserved.
ステージング環境
ビルドが実行され、本番環境にデプロイされる。
20Copyright© 2016 Growth xPartners, Inc. All rights reserved.
デプロイ結果
21Copyright© 2016 Growth xPartners, Inc. All rights reserved.
プルリクエストベースでのデプロイの特徴
ワークフローが簡潔
「どうやればデプロイされる」というのが明快
ChatOpsと相性がいい
以下のようなデメリットも
任意ブランチ・任意ビルドのデプロイができない
デプロイする際にビルドを実行することになることによるリスク
デプロイのパイプラインがVCSのブランチと密結合になるかわ
りに、ワークフローの身軽さを得た開発スタイル
22Copyright© 2016 Growth xPartners, Inc. All rights reserved.
まとめ
Copyright© 2016 Growth xPartners, Inc. All rights reserved. 23
全般的な感想:メリット
プルリクエストベースの軽量なワークフロー
Dockerベースによる、サーバーレスでクリーンなCI
環境
VCS上でCIのビルド設定が管理できる
24Copyright© 2016 Growth xPartners, Inc. All rights reserved.
全般的な感想:デメリット
現時点の提供はクラウド版のみ
機能的に荒削り
使いこなすにはDockerの知識が必要
デプロイのワークフローについての設計思想が
Bambooと根幹から違うので、Bambooの代替にはなら
ない
25Copyright© 2016 Growth xPartners, Inc. All rights reserved.
まとめ
プルリクエストベースのワークフローは魅力
機能的にはまだこれから、Bambooの出番もまだあり
ます
12月一杯までは無料、ガンガン試そう
26Copyright© 2016 Growth xPartners, Inc. All rights reserved.
Appendix
公式ドキュメント
• https://confluence.atlassian.com/bitbucket/bitbucket-pipelines-792496469.html
デモレポジトリ
• https://bitbucket.org/hiroyuki_ohnaka/heroku-deploy/
Bitbucket Pipelines が正式公開されました (アトラシアン日本法人ブログ)
• http://japan.blogs.atlassian.com/2016/10/bitbucket-pipelines-now-generally-
available/
Continuous Delivery in the Cloud with Bitbucket Pipelines
(Atlassian Summitのセッション)
• https://www.atlassian.com/company/events/summit/2016/watch-sessions/build-
deploy/continuous-delivery-in-the-cloud-with-bitbucket-pipelines
27Copyright© 2016 Growth xPartners, Inc. All rights reserved.
GitHub 時代のデプロイ戦略 - naoyaのはてなダイアリー
(プルリクエストベースのデプロイワークフローについてのエントリー)
• http://d.hatena.ne.jp/naoya/20140502/1399027655
AtlassianのBitbucket Cloudで継続的デリバリを提供するBitbucket
Pipelines
• https://www.infoq.com/jp/news/2016/08/atlassian-bitbucket-pipelines
28Copyright© 2016 Growth xPartners, Inc. All rights reserved.
Contact us
大中 浩行(おおなか ひろゆき)
グロースエクスパートナーズ(株)
アーキテクチャソリューション部 テクニカルリード
http://www.gxp.co.jp/atlassian/
h.onaka(at)gxp.co.jp
29Copyright© 2016 Growth xPartners, Inc. All rights reserved.