--- 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)

####