私のブログを頻繁に読んでくださってる皆さんは、私がどれだけ Docker に夢中かご存知ですよね。それから Git にも。今日は、そんな私の興奮が伝わるようなお知らせがあります。Docker の自動ビルドが Bitbucket に統合されました!

Docker とは何か?

単純に言えば、Docker はプロビジョニングとデプロイの自動化分野における次の大物です。Docker では、OS、データベース、環境変数、start/stop スクリプトなど、アプリケーションを実行するのに必要なあらゆるものを定義することができます。そして、その定義をテキストファイルに保存することで、イメージを再利用、更新、共有できます。

Docker を使用すると、アプリケーションや環境を修復するよりも楽に (安くという意味で) 作り直すことができます。ここまでですでに開発者の皆さんは、ローカルワークステーションに対するこの意味合いが分かったと思います。その通りです。1 つの Dockerfile で、各 CI 実行用の新規環境が手に入ります。

Dockerfile にすべてがある

Chef のレシピや Puppet のマニフェストのように、Dockerfile は、アプリケーションを望んだ状態にするのに必要な各手順を記述する場です。ベアメタルからでも、親 Dockerfile が中断した段階からでも使用できます。“FROM ubuntu:14.04” で始まる Dockerfile では、実行時に Docker により ubuntu:14.04 Dockerfile 全体がまず初めに実行されます。これは、インヘリタンスの点で最高です!

Dockerfile の素晴らしい点は (インヘリタンス以外で)、バージョン管理下で格納できることです。したがって、履歴、コメント、ブランチの恩恵を受けることができます。デプロイとセットアップ手順をランブックに保存する代わりに、または、モニター周囲に付箋を貼りまくるという現実の代わりに、単純なテキストファイルに記述でき、そのファイルにどこからでもアクセスできます。もちろん、共有できるので、開発コミュニティのメンバーがまた一からやり直す必要はありません。

では、本題の自動ビルドについて…

Docker が登場してすぐ、Docker をソースコードリポジトリにリンクする簡単な手段として自動ビルドが発表されました。これにより、チームと開発者は、Bamboo やその他の自動ビルドツールを使用して、変更がリポジトリにプッシュされる度に Dockerfiles で自動定義されるコンテナをビルドできます。

また、自動ビルドでは、Dockerfile のコンテンツだけでなく、Dockerfile で参照される関連するすべての中間生成物 (スクリプト等) をリポジトリ内で見ることができるので、コンテナをビルドしている人々がその内容を明確に把握できます。

前回、Docker の説明の一部として、JIRAStash を一緒に連結する方法をご紹介しました。今回はそれに対応した自動ビルドコンテナを紹介してみたいと思います! 私の Docker プロジェクトをご覧ください。JIRA、Stash、Crowd、さらに、 Bitbucket で対応するリポジトリもあります。現時点では、すべて実験段階であることにご注意ください。私たちがアトラシアンツール用の公式自動ビルドコンテナの作成に取り組んでいる間、いろいろ試せるものとなっています。

Docker Hub でアトラシアンを見つけてください

アトラシアンツール用の公式自動ビルドコンテナがあるのはどこか? よくぞ尋ねてくれました。

Docker は、 ユーザーが、公開・非公開リポジトリからコンテナベースのアプリケーションを共有・管理できる場として Docker Hub を発表したばかりです。Docker Hub レジストリではすでに、14,000 件以上の「Docker 化済み」アプリケーションを提供しています。自分のアプリケーション開発に協力してもらうために、他の人々をコミュニティに招待することもできます。

近日中にアトラシアンツールも Docker Hub に追加されますので、是非見つけてください!

本稿は、Atlassian Blogs 日本語版の転載です。本文中の日時などはAtlassian Blogs 英語版での投稿当時のものですのでご了承ください。