BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AtlassianがBamboo 6.0とBitbucket Server 5.0を発表

AtlassianがBamboo 6.0とBitbucket Server 5.0を発表

原文(投稿日:2017/06/01)へのリンク

AtlassianがBambooとBitbucket Serverの新バージョンを発表した。いずれも企業内のDevOpsサポートを目的としたツールである。Configuration as Code、ビルドコントロールの強化、ビルドプロセスの監視などが新機能だ。

Bitbucket Server 5.0 & Bamboo 6.0: Bringing DevOps to the Enterprise”というブログ記事では、新バージョンを次のように紹介している。

企業におけるDevOpsの採用は、運用と開発とのコミュニケーション改善、現代的な継続的インテグレーションの実践、あるいは新たなバージョン管理手法の導入といったことには留まりません。コンプライアンスやスケールアップなども同じく重要なのです。ツーリングには自由度と構造、スケーラビリティとパフォーマンスといった、両立の難しいものを提供する必要があります。

Atlassianのツールは、トレーサビリティやアベイラビリティ、セキュリティといったものをすべて損なうことなく、DevOpsワークフローを実現するためのユニークな機能を備えています。Bitbucket ServerとData Center 5.0、そしてBamboo 6.0によって、私たちは、コミッタ認証用Gitフックとスマートミラーの更新という、新たな段階に踏み込むのです。

InfoQは、AtlassianのBambooビジネスを統括するAlison Huselid氏に、Bamboo 6.0とBitbucket Server 5.0の主な変更点と、それがDevOpsを適用しようとする企業にとってどのようなメリットがあるのかをインタビューした。

InfoQ: Bamboo 6.0で大きく変わった点は何ですか?

Alison Huselid: Bamboo 6.0シリーズの重点領域のひとつは、Configuration as Codeのような、現代的な継続的インテグレーションのプラクティスを企業に提供することです。それと同時に、Bitbucket Serverとのインテグレーション強化のようなワークフロー拡張によって、チームのより迅速な行動や、DevOpsプラクティスの容易な採用を可能にします。具体的には、次のような機能が導入されています。

  • Bamboo Specs – Bambooのビルドプランのコードによるコンフィギュレーション(Configure as Code)を可能にし、企業のソフトウェア開発を近代化します。これによって開発者は、開発プロセスのより詳細なコントロールや他チームへの依存性の排除、コードやビルドシステム間の切り換えなどが可能になります。
  • Bitbucket Serverとの統合強化 – Bitbucketのプルリクエスト生成によるBambooビルドの起動、Bitbucketで実行中のビルドのステータス表示、Bamboo内でのプルリクエストの生成と表示、といった機能です。これによって、ビルドの起動をより詳細にコントロールできるようになると同時に、Bitbucket内からの進捗監視が可能になります。
  • xCodeとFastlaneの公式サポート – これらのアプリケーション開発とテストがすべて、ひとつのビルドツール内で可能になります。

InfoQ: Bambooのプランのコンフィギュレーションをコードとして定義するには、どうすればよいのでしょうか?

Huselid: Bambooでは、自分の選んだIDE内でコンフィギュレーションをコード記述するためのAPIを備えたBamboo Specsライブラリと、作成したプランをBambooサービスインスタンスにデプロイするBamboo Specs Runner Mavenプラグインを提供しています。

Bamboo SpecsライブラリはJavaで記述されているので、Javaと相互運用可能な、例えばGroovyやScalaやKotlinといったハイレベルなJVM言語を使って記述することができます。Javaに慣れていなくても、私たちが提供しているオンボードプロセスを使うことで、作業環境に直接ブートストラップすることが可能です。またプラン定義自体は、PythonやC++、あるいはC#といった、他の言語のユーザにも親しみやすいものになっています。

Bambooの資料から引用した例題“Create a simple plan with Bamboo Specs”で、このワークフローについて説明しています。

以下に示すのは、Bamboo Specsを使って新たな計画を作る方法を示した、非常に簡単な例です。

Plan plan = new Plan(project, "My Plan One", "PLAN1")
=・.description("This is an example of a plan")n")
=・.enabled(true)ue)
=・.stages(stage1)e1)
=・.triggers(scheduledTrigger)er)
=・.planBranchManagement(planBranchManagement)nt)
=・.dependencies(planDependencies)es)
=・.linkedRepositories(myGitRepo)po)
=・.planRepositories(myBitbucketRepo)po)
=・.variables(var1, var2);
re>

InfoQ: プランの設定をコードとして定義することのメリットは何ですか?

Huselid: Bamboo Specsを使ってビルド構成をコードとして定義することで、ビルドパイプラインに対して、開発チームがより多くのコントロールと責任を負うことになります。アプリケーションビルドの簡略化やデプロイメントプロセスのスピードアップも可能になりますし、コードの再利用(つまりプランをコピーすることも)もできます。コードファイルをバージョン管理システムに保存すれば、コードレビューやバージョン履歴といったメリットもあります。例えば、(問題が発生した理由を知るために)以前のビルドのバージョンと比較する必要があれば、その時点のビルドを実行してみるだけでよいのです。

InfoQ: BambooがBitbucket Serverと統合されたことによって、何が新しくなりましたか?

Huselid: Bamboo 6.0では、Bitbucket Serverとの統合に関していくつかの拡張を行いました。Bitbucketのプルリクエスト生成によってBambooビルドを起動する機能、Bitbucketで実行中のビルドのステータス表示、Bamboo内でのプルリクエストの生成と表示、といった機能が導入されています。

InfoQ: それにはどのようなメリットがあるのでしょう?

Huselid: BambooとBitbucket Serverがより密接に統合されることで、重要な情報が、最も必要とされる時点で転送できるようになります。例えば、Bambooのビルドがいつ起動されたかをBitbucketユーザインターフェース内で確認したり、Bambooのビルド結果を確認中にBitbucketのプルリクエストを生成することが可能です。プルリクエスト生成時にBambooのプランのブランチを新たに自動生成するようなスマートビルドトリガによって、ビルド実行時間をより詳細にコントロールできるようになりました。これによってBambooビルドエージェントのリソースが解放されると同時に、不要なビルドノイズも軽減されます。さらに、もしプランのブランチを使っていないのであれば、それが実現するだけでなく、プルリクエスト毎の自動ビルドも可能になります。

InfoQ: Bambooの今後についてはどうですか?

Huselid: 今後のリリースにおいても、スケールやセキュリティを損なうことなく、より時間を節約出来る機能の提供を続けていきます。それによって、現代的なCI/CDプラクティスを企業に引き続き提供します。そのために私たちは、Bamboo Specsのワークエリアの強化、Atlassianのツールや他のDevOpsツールセットとのより深いインテグレーション、企業組織におけるCI/CDニーズへの対応など、さまざまな領域に注力していきます。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT