
131
8.3 イメージのプッシュ
これはシンプルな解決方法であり、十分にうまく行きますが、多少の無駄があり、最大で
5
分、
ビルドは常に遅れることになります。もっといい解決方法は、更新があったときにリポジトリが
Jenkins
に通知するよう設定することです。これは、
BitBucket
や
GitHub
では
Web Hooks
を使
えば実現できますが、
Jenkins
サーバーが公開のインターネットにアクセスできなければなりま
せん。
ここで、「そもそもなんでイメージをビルドするんだろう?」と尋ねたい人もいるかも知れま
せん。前セクションを辿ってきていれば、Docker Hub 上で自動化され、ソースリポジトリへ
チェックインがあったときに実行されるビルドをセットアップしてあるでしょう。Docker Hub の
Webhooks の機能を使えば、この自動化ビルドを活かし、Docker Hub のリポジトリでビルドが
成功した後に、自動的に Jenkins のビルドがキックされるようにすることができます。そうすれ
ば、テストのスクリプトでは、イメージをビルドではなく、プルできることになります。この場合
も、Jenkins サーバーは公開インターネットにアクセスできなければなりません。
このソリューションは、スタンドアローンの Docker イメージを生成する小さなプロジェクトには
有効ですが、大規模なプロジェクトでは、おそらくビルドのさらなる高速化や、ビルドの制御のセ
キュリティが求められることになるでしょう。 ...