このトピックでは、Personal Edition インスタンスを使用してイメージリポジトリを作成し、構築ルールを設定し、イメージを構築する方法について説明します。
注意事項
Personal Edition インスタンスのイメージ構築タイムアウトは 30 分です。柔軟な構築設定、カスタム構築パラメーター、マルチアーキテクチャ構築などの高度な機能が必要な場合は、Enterprise Edition インスタンスを使用してイメージを構築することを推奨します。詳細については、「Enterprise Edition インスタンスを使用したイメージの構築」をご参照ください。
Personal Edition インスタンスでイメージを構築する前に、Dockerfile のベースイメージが次の要件を満たしていることを確認してください。
-
権限付与が不要なパブリックイメージはすべて使用できます。
-
Personal Edition インスタンスと同じアカウントかつ同じリージョンにあるプライベートイメージを使用できます。
-
異なるリージョンのプライベートイメージは使用できません。
-
どのリージョンの VPC イメージも使用できません。
-
サードパーティのライセンス付きイメージは使用できません。
例えば、Dockerfile のベースイメージはパブリックイメージである必要がありますが、サードパーティのライセンス付きイメージは使用できません。
機能
ビルド機能を使用するには、ソースコードリポジトリを Personal Edition インスタンスにバインドする必要があります。これはインスタンスを作成した後に行うことができます。
-
コード変更時の自動構築
コードの変更時にイメージを自動的にビルド を有効にすると、コードをコミットするたびに Container Registry が自動的にイメージを構築します。これにより、手動での構築が不要になります。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Personal Edition インスタンスをクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
リポジトリ ページで、対象のリポジトリを見つけ、操作 列の 管理 をクリックします。
-
左側のナビゲーションウィンドウで ビルド をクリックし、コードの変更時にイメージを自動的にビルド スイッチをオンにします。
ビルド設定には、[海外での構築] と [キャッシュなしでの構築] のスイッチも含まれており、どちらもデフォルトで無効になっています。
-
海外での構築
ビルドプロセス中に、コードが中国本土外のソースに依存する場合があります。このシナリオのために、Container Registry は 中国本土外のサーバーによるビルド 機能を提供します。海外のマシンでビルドが完了すると、イメージは指定したリージョンのリポジトリにプッシュされます。
説明海外のロケーションから中国本土へのネットワーク接続が不安定な場合、イメージのプッシュがタイムアウトして失敗することがあります。
-
キャッシュなしでの構築
キャッシュなしでビルド を有効にすると、ビルドプロセスは毎回ベースイメージをプルし、キャッシュされたレイヤーを無視します。これによりビルド時間が増加する可能性があるため、このオプションは無効にしておくことを推奨します。
-
マルチステージビルド
Container Registry は、マルチステージビルドもサポートしています。
ステップ1:コードソースのバインド
このセクションでは、GitHub を例にコードソースをバインドする方法を説明します。他のコードソースのバインド方法については、「ソースコードホスティングプラットフォームへの接続」をご参照ください。
VPC 内のプライベート GitLab インスタンスにアクセスするには、「VPC セキュアビルドモードでのコンテナイメージの構築」をご参照ください。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Personal Edition インスタンスをクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
コードソース ページで GitHub を見つけ、操作 列の アカウントのバインド をクリックします。
-
[GitHub] ダイアログボックスで、ソースコードリポジトリに移動してアカウントをバインドします をクリックします。
-
GitHub ページで、ユーザー名とパスワードを入力し、[サインイン] をクリックします。
Container Registry コンソールにリダイレクトされ、[GitHub アカウントのバインドに成功しました] というメッセージが表示されます。
ステップ2:イメージリポジトリの作成
イメージリポジトリを作成する前に、対象のリージョンに名前空間が必要です。詳細については、「名前空間の管理」をご参照ください。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Personal Edition インスタンスをクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
リポジトリ ページで、リポジトリの作成 をクリックします。
-
ウィザードの リポジトリ情報 ステップで、名前空間、リポジトリ名、サマリー、リポジトリのタイプ を設定します。この例では、リポジトリタイプとして プライベート を選択します。その後、次へ をクリックします。
説明ローカルリポジトリではイメージ構築機能はサポートされていません。
-
ウィザードの コードソース ステップで、コードソース、ビルド設定、ビルドルール を設定し、リポジトリの作成 をクリックします。
パラメーター
説明
コードソース
コードソースを選択します。この例では GitHub を使用します。[GitHub] をクリックし、名前空間とリポジトリを選択します。
ビルド設定
-
コード変更時にイメージを自動的に構築:ブランチにコードをコミットすると、構築ルールがトリガーされます。
-
海外での構築:海外のデータセンターでイメージを構築し、指定されたリージョンにプッシュします。ビルドタスクにソースコードリポジトリやイメージリポジトリなど、中国本土のリソースが含まれる場合は、中国本土外のサーバーによるビルド を無効にし、中国本土のビルドサーバーを使用することを推奨します。
-
キャッシュなしでの構築:各ビルドでベースの依存関係イメージを強制的に再プルするため、ビルド時間が増加する可能性があります。キャッシュなしでビルド オプションを無効にすると、イメージのビルドが高速化されます。
-
ステップ3:構築ルールの設定
イメージリポジトリの管理ページに ビルド が表示されない場合、コードソースが正しくバインドされていません。ステップ1 を参照して再度バインドしてください。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Personal Edition インスタンスをクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
リポジトリ ページで、対象のリポジトリを見つけ、[操作] 列の 管理 をクリックします。
-
左側のナビゲーションウィンドウで ビルド をクリックします。ビルドルール セクションで、ビルドルールの追加 をクリックします。
説明構築ルールを変更するには、対象のルールを見つけ、[操作] 列の 変更 をクリックします。
-
ビルドルールの追加 ダイアログボックスで、構築ルールのパラメーターを設定し、OK をクリックします。
パラメーター
説明
タイプ
ビルドするソースのタイプです。有効な値は Branch と Tag です。
ブランチ/タグ
ビルドに使用するコードブランチまたはタグです。
コンテキストディレクトリをビルド
指定したブランチまたはタグのルートを基準とした、Dockerfile を含むディレクトリへの相対パスです。例えば、Dockerfile が master ブランチのルートディレクトリにある場合、このパラメーターを
./に設定します。Dockerfile ファイル名
Dockerfile の名前です。デフォルト値は
Dockerfileです。イメージのバージョン
ビルドされたイメージに付けるタグです。例:
latest。
ステップ4:イメージの構築
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Personal Edition インスタンスをクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
リポジトリ ページで、対象のリポジトリを見つけ、操作 列の 管理 をクリックします。
-
左側のナビゲーションウィンドウで ビルド をクリックします。
-
ビルドルール セクションで、対象のルールを見つけ、[操作] 列の ビルド をクリックします。
ビルドが完了すると、新しいビルドレコードが生成されます。
説明ビルドログを表示するには、ビルドレコードの 操作 列にある ログ をクリックします。
-
ビルドが完了したら、左側のナビゲーションウィンドウで イメージのバージョン をクリックして、構築されたイメージを表示します。
-
すべてのイメージを表示するには、左側のナビゲーションウィンドウで [ビルド] をクリックします。ビルド設定 で、中国本土外のサーバーによるビルド と キャッシュなしでビルド を有効にします。コードの変更時にイメージを自動的にビルド はデフォルトで有効になっています。その後、左側のナビゲーションウィンドウで イメージのバージョン をクリックして、すべてのイメージタグを表示します。