30
Bitbucket Pipelinesについて 2016/11/2 グロースエクスパートナーズ(株) 大中 浩行 Copyright© 2016 Growth xPartners, Inc. All rights reserved.. Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Bitbucket Pipelinesについて

Embed Size (px)

Citation preview

Page 1: Bitbucket Pipelinesについて

Bitbucket Pipelinesについて2016/11/2

グロースエクスパートナーズ(株)

大中 浩行

Copyright© 2016 Growth xPartners, Inc. All rights reserved..

Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 2: Bitbucket Pipelinesについて

継続的インテグレーション(CI)サービスの動向につい

Bitbucket Pipelinesについて

デモ

まとめ

1Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 3: Bitbucket Pipelinesについて

継続的インテグレーション(CI)サービスの動向について

Copyright© 2016 Growth xPartners, Inc. All rights reserved. 2

Page 4: Bitbucket Pipelinesについて

継続的インテグレーション(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.

Page 5: Bitbucket Pipelinesについて

ソースコードと連携するCIサービスの台頭

レポジトリにビルド設定を記述した DSLファイルを

コミットすると、CIサービスが読み取ってビルドを実行

する

Jenkins/Bamboo職人依存からの脱却 ※ただし、程度問題

※ DSL 〜 domain-specific language。ドメイン固有言語。

4Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 6: Bitbucket Pipelinesについて

例:Wercker(wercker.yml)の場合

5Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 7: Bitbucket Pipelinesについて

メリット

CIの設定をバージョン管理できる

ソースコードのバージョン管理とCIのサイクルを統合

できる

6Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 8: Bitbucket Pipelinesについて

Bitbucket Pipelines

ソースコードホスティングサービスBitbucket Cloud

にCIを統合したサービス

2016/10 Atlassian Summitでサービスイン発表

価格: 1セント/1分 (※12月一杯までは無料)

7Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 9: Bitbucket Pipelinesについて

Bitbucket Pipelinesについて

Copyright© 2016 Growth xPartners, Inc. All rights reserved. 8

Page 10: Bitbucket Pipelinesについて

Bitbucket Pipelinesの特徴

Bitbucket Cloudとの統合

DSL(bitbucket-pipelines.yml)でのビルド記述

Dockerベースのビルド環境

プルリクエストベースのデプロイフロー

9Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 11: Bitbucket Pipelinesについて

Bitbucket Cloudとの統合

10Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 12: Bitbucket Pipelinesについて

DSL(bitbucket-pipelines.yml)でのビルド記述

11Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 13: Bitbucket Pipelinesについて

Dockerベースのビルド環境

Docker Hubで公開されているDockerイメージをビル

ド環境として使用可能

Dockerを使用するメリット

レポジトリおよび、コミットごとに隔離された環境

ビルド環境の構成を自由にカスタム可能

12Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 14: Bitbucket Pipelinesについて

プルリクエストベースのデプロイワークフロー

デプロイを行うには、対象となるブランチに対して、

プルリクエストを作成する

bitbucket-pipelines.yml上でmasterブランチが本番環境に対してデプロ

イするように記述されている場合は、masterブランチに対してプルリクエ

ストを作成する

Travis CIをはじめとするGitHubに統合する形のCIサービスで広く採用さ

れているワークフロー

それに対してBambooは、各ブランチのビルドを起点としてリリースを

作成し、それを各環境にデプロイするワークフロー

13Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 15: Bitbucket Pipelinesについて

デモ

Copyright© 2016 Growth xPartners, Inc. All rights reserved. 14

Page 16: Bitbucket Pipelinesについて

デモのレポジトリはサンプルは以下で公開しています

https://bitbucket.org/hiroyuki_ohnaka/heroku-

deploy/

15Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 17: Bitbucket Pipelinesについて

変更前のアプリ

16Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 18: Bitbucket Pipelinesについて

ソースコードを編集し、コミットする

17Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 19: Bitbucket Pipelinesについて

masterブランチへのプルリクエストを作成する

18Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 20: Bitbucket Pipelinesについて

プルリクエストの内容および、ステージング環境を確認する

19Copyright© 2016 Growth xPartners, Inc. All rights reserved.

ステージング環境

Page 21: Bitbucket Pipelinesについて

ビルドが実行され、本番環境にデプロイされる。

20Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 22: Bitbucket Pipelinesについて

デプロイ結果

21Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 23: Bitbucket Pipelinesについて

プルリクエストベースでのデプロイの特徴

ワークフローが簡潔

「どうやればデプロイされる」というのが明快

ChatOpsと相性がいい

以下のようなデメリットも

任意ブランチ・任意ビルドのデプロイができない

デプロイする際にビルドを実行することになることによるリスク

デプロイのパイプラインがVCSのブランチと密結合になるかわ

りに、ワークフローの身軽さを得た開発スタイル

22Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 24: Bitbucket Pipelinesについて

まとめ

Copyright© 2016 Growth xPartners, Inc. All rights reserved. 23

Page 25: Bitbucket Pipelinesについて

全般的な感想:メリット

プルリクエストベースの軽量なワークフロー

Dockerベースによる、サーバーレスでクリーンなCI

環境

VCS上でCIのビルド設定が管理できる

24Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 26: Bitbucket Pipelinesについて

全般的な感想:デメリット

現時点の提供はクラウド版のみ

機能的に荒削り

使いこなすにはDockerの知識が必要

デプロイのワークフローについての設計思想が

Bambooと根幹から違うので、Bambooの代替にはなら

ない

25Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 27: Bitbucket Pipelinesについて

まとめ

プルリクエストベースのワークフローは魅力

機能的にはまだこれから、Bambooの出番もまだあり

ます

12月一杯までは無料、ガンガン試そう

26Copyright© 2016 Growth xPartners, Inc. All rights reserved.

Page 28: Bitbucket Pipelinesについて

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.

Page 29: Bitbucket Pipelinesについて

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.

Page 30: Bitbucket Pipelinesについて

Contact us

大中 浩行(おおなか ひろゆき)

グロースエクスパートナーズ(株)

アーキテクチャソリューション部 テクニカルリード

http://www.gxp.co.jp/atlassian/

h.onaka(at)gxp.co.jp

29Copyright© 2016 Growth xPartners, Inc. All rights reserved.