--- title: "Docker をパイプライン管理する" order: 5 hidden: true ---

Docker イメージプロモーションとは、許可・認証されたイメージのみが本番環境などの最適な環境下で使用されるように、レジストリ間でプロモーションを行うことです。

ProGet では、レジストリ間でイメージをプロモーションし、そのプロセスを最初から最後までトラッキング(追跡)できます。それによりプロモーションのパイプラインを構築し、レジストリ内のさまざまな要素(開発や本番環境など)を分けて管理できます。

💡
無料版の ProGet ではこの機能は制限されています。詳細は、エディションごとの機能を比較をご覧下さい。または見積もりを依頼ください

イメージのプロモーション方法

イメージのプロモーション方法には、ProGet 内にあるリポジトリのタグページの [Promote (プロモーション)] ボタンを使う方法と、API 呼び出しを使う方法の 2 つがあります。ターゲットレジストリに対してプロモーションされたイメージは、ソースレジストリから削除されません。

現在、fatマニフェスト(リンク先英語)を使ったイメージのプロモーションには対応していません。このようなイメージを再作成し、dockerCLI からターゲットレジストリにプッシュ (送信)する必要があります。

検証済み/プロモートされた Docker レジストリの作成

どのようなレジストリも検証済み/プロモートされた Docker レジストリとして使用できます。しかし、原則的にはプロモートされた内部イメージと検証済みの外部イメージを含む別のレジストリの作成をおすすめしています。新しいDockerレジストリを作成する場合、使用タイプの [validated/promoted feed (検証済み/プロモートされたフィード)] を選択してください。

リポジトリのタグページからイメージをプロモーションする方法

リポジトリのタグページからイメージをプロモーションしたい場合、まずプロモーションしたいレジストリ、リポジトリ、タグの順に移動してください。次に右上の▼ボタンにカーソルを合わせ、[Promote (プロモーション)] ボタンをクリックしてください。

💡
無料版の ProGet では、リポジトリのタグページを使用したイメージプロモーションが制限されています。無料版の ProGet ではこのページのみからイメージのプロモーションができます。また、誰がいつ、何の目的でプロモーションしたのかは確認できません。

API を使ってイメージをプロモーションする

API を通してイメージをプロモーションしたい場合、まずはパッケージプロモーションへのアクセスを許可する API キーを作成します。次にProGetのAPIレファレンス(リンク先英語)からパッケージプロモーションエンドポイント(リンク先英語)のガイドを参照し、ProGet APIとパッケージプロモーションエンドポイントについてのステップを理解します。

💡
無料版の ProGet は API を使ったイメージプロモーションに対応していません。

イメージプロモーションのパイプラインを作る

特定のレジストリをターゲットに選ぶことにより、さまざまなレジストリ/環境の間でイメージプロモーションのパイプラインがイメージを elevation(昇格)させるプロセスを助けます。ターゲットのレジストリが選択されると、リポジトリのタグページとパッケージプロモーションエンドポイントのどちらからでも、そのレジストリに対してのみプロモーションを行うことができます。

パイプラインを構成するためのステップ:

1.    プロモーションしたいイメージが含まれるソースレジストリに移動

2.    ページの右上にある [Manage Feed (フィードの管理)] のボタンをクリック

3.    [Promote To Feed (フィードへプロモーション)] プロパティーの右にある [configure (構成)] のリンクをクリック

4.    ターゲットのプロモーションレジストリを選択

💡
検証済み/プロモーションされた Docker レジストリは、他の検証済み/プロモーションされた Docker レジストリのソースレジストリとして使えます。これにより別々のレジストリで環境を分けて管理し、レジストリ全体のelevation(昇格)プロセスを施行できます。

パッケージプロモーションのセキュリティー

パッケージプロモーションは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)