2017-10-11 12 views
0

Windowsサーバー2016(シングル・ヴォーム、オン・プレミス)でデータ処理用のドッカー・イメージを実行します。私のイメージはAzure Container Registryに保存されています。コードは頻繁に変更されません。セキュリティ更新プログラムを入手するにはMicrosoft Windowsサーバーの更新後に再構築してリリースするのが好きです。トリガーVSTSドッキング・ハブ・イメージ更新後に構築

これを行うためのベストプラクティスの方法はありますか?

私はこれを解決するための約3通り考え

  1. 実行予定のビルド24時間ごとに、その後、ビルドの日付を取得し、比較するために、私のカスタムイメージを引き出し、実行PowerShellをマイクロソフト/ windowsservercoreを引っ張る(または使用ヒストロイidsのいくつか)。リビルドが必要な場合は、新しいイメージをビルドし、ビルドにタグを付けます。このタグでのみリリースが実行されるように設定します。
  2. ジョブを実行して、ドッカーイメージの更新時間を確認し、REST要求でビルドを開始します。
  3. 基本的なDockerファイルをgithubに置きます。 microsoft/windowsservercoreへのトリガーを使用して自動ビルドを設定し、WebHookをWebServiceに設定します。これにより、RESTでビルドが開始されます。

しかし、私は本当にこれらのアイデアが好きではありません。より良い選択肢がありますか?

答えて

0

オプション3を選択します。したがって、私は1行Dockerfileとgithubのrepositoryを設定します。

FROM alpine 

自動ビルドは現在、Windowsイメージをサポートしていないんので、私は、高山のイメージではなくwindowsservercoreを使用しました。ドッカーハブに自動ビルドを設定し、リンクされたリポジトリをmicrosoft/windowsservercoreに追加しました。 Linked Repositories to windowsservercore 次に、HTTPリクエストトリガーでMS Flowをセットアップしてビルドを開始します。 Flow to start the buildフローURLを自動ビルドの新しいウェブフックに追加します。

私にとっては、これは構成して一緒に働かなければならない多くの可動部品ですが、私は良い方法を知っていません。

1

あなたは、単純なワークフロー、直接Azure Container Registry webhooksを使用することができます。

  1. Queue a build Rest API
  2. て詳細要求(ウェブフック要求)にあたり、ビルドをキューイングするためのWeb APIプロジェクトをビルドしてWebを呼び出すためにAzureのコンテナレジストリウェブフックを作成します。 API(ステップ1)
+0

microsoft/windowsservercoreドッカーハブイメージが更新されたときにビルドを実行します。しかし、ach Webhookのドキュメントには、「特定のアクションがレジストリリポジトリ**のいずれかで発生したときにイベントをトリガするためにWebhookを使用しています」と記載されています。 – sschoof

+0

この方法をチェックする[Docker Hubの自動ビルドを設定する](https://docs.docker.com/docker-hub/builds/)。 (あなたの3番目の道をはっきりさせていない、多分彼らは似ている) –

+0

はい、これは私の3番目のアイデアでした。 – sschoof

関連する問題