--- title: "Docker をパイプライン管理する" order: 5 hidden: true ---
Docker イメージプロモーションとは、許可・認証されたイメージのみが本番環境などの最適な環境下で使用されるように、レジストリ間でプロモーションを行うことです。
ProGet では、レジストリ間でイメージをプロモーションし、そのプロセスを最初から最後までトラッキング(追跡)できます。それによりプロモーションのパイプラインを構築し、レジストリ内のさまざまな要素(開発や本番環境など)を分けて管理できます。
イメージのプロモーション方法には、ProGet 内にあるリポジトリのタグページの [Promote (プロモーション)] ボタンを使う方法と、API 呼び出しを使う方法の 2 つがあります。ターゲットレジストリに対してプロモーションされたイメージは、ソースレジストリから削除されません。
現在、fatマニフェスト(リンク先英語)を使ったイメージのプロモーションには対応していません。このようなイメージを再作成し、dockerCLI からターゲットレジストリにプッシュ (送信)する必要があります。
どのようなレジストリも検証済み/プロモートされた Docker レジストリとして使用できます。しかし、原則的にはプロモートされた内部イメージと検証済みの外部イメージを含む別のレジストリの作成をおすすめしています。新しいDockerレジストリを作成する場合、使用タイプの [validated/promoted feed (検証済み/プロモートされたフィード)] を選択してください。
リポジトリのタグページからイメージをプロモーションしたい場合、まずプロモーションしたいレジストリ、リポジトリ、タグの順に移動してください。次に右上の▼ボタンにカーソルを合わせ、[Promote (プロモーション)] ボタンをクリックしてください。
API を通してイメージをプロモーションしたい場合、まずはパッケージプロモーションへのアクセスを許可する API キーを作成します。次にProGetのAPIレファレンス(リンク先英語)からパッケージプロモーションエンドポイント(リンク先英語)のガイドを参照し、ProGet APIとパッケージプロモーションエンドポイントについてのステップを理解します。
特定のレジストリをターゲットに選ぶことにより、さまざまなレジストリ/環境の間でイメージプロモーションのパイプラインがイメージを elevation(昇格)させるプロセスを助けます。ターゲットのレジストリが選択されると、リポジトリのタグページとパッケージプロモーションエンドポイントのどちらからでも、そのレジストリに対してのみプロモーションを行うことができます。
パイプラインを構成するためのステップ:
1. プロモーションしたいイメージが含まれるソースレジストリに移動
2. ページの右上にある [Manage Feed (フィードの管理)] のボタンをクリック
3. [Promote To Feed (フィードへプロモーション)] プロパティーの右にある [configure (構成)] のリンクをクリック
4. ターゲットのプロモーションレジストリを選択
パッケージプロモーションはProGetに組み込まれたタスクであり、特定のレジストリにイメージをプロモーションするためのアクセスを許可します。このタスクへの権限を持ったユーザーは、ソースレジストリにある View & Download Packagesのタスクへのアクセスも許可されます。
[Administration (管理)] > [Users & Tasks (ユーザー&タスク)] > [Customize Tasks (タスクをカスタマイズする)] から、カスタムタスクの作成もできます。また、[Users & Tasks (ユーザー&タスク)] ページから、特定のユーザーやグループに対して権限を与えたり拒否したりできます。
イメージプロモーションのトラッキングはリポジトリにあるタグページの、[History (履歴)] から見ることができます。履歴上で以下のプロモーションのアクションが表示されます:
o プロモーションの実行日時
o イメージをプロモーションしたユーザー
o ソースレジストリ
o ターゲットレジストリ
o プロモーションした人からのコメント(あれば)
Action (アクション) | On (日時) | Deals (詳細) |
---|---|---|
Promoted (プロモーション済み) | 5/14/2020 1:30:15 PM by Admin
(Adminがユーザー名) |
from devdocker to rcdocker Ready for testing (devdocker から rcdockerテスト準備完了)
|
Promoted (プロモーション済み)
|
5/15/2020 1:30:15 PM by API(APIがユーザー名)
|
from rcdocker to proddocker Release 12.0.5 (rcdocker から proddockerリリース12.0.5)
|