パイプラインは、コードコンパイルやパッケージングなどのタスクを実行するために、ビルドクラスターを使用します。Flow は、CI/CD プロセスを迅速に開始できるよう、マネージドパブリックビルドクラスターを提供します。また、独自のサーバーリソースを接続して、セルフホストビルドクラスターを作成することもできます。これにより、さまざまなビジネスシナリオのカスタム要件に柔軟に対応できます。
ビルドクラスターの比較
|
パブリックビルドクラスター |
マネージド VPC ビルドクラスター |
セルフホストビルドクラスター |
|
|
インスタンスソース |
Alibaba Cloud DevOps が提供 |
Alibaba Cloud DevOps が提供 |
ユーザーが提供 |
|
リージョンカバレッジ |
シンガポール |
シンガポール |
ユーザーのホストに依存 |
|
オペレーティングシステム |
Linux |
Linux |
Linux/Windows/macOS |
|
ネットワーク接続 |
コードリポジトリ、イメージリポジトリ、アーティファクトリポジトリ、クラウドホスト、Kubernetes クラスターなどのリソースにアクセスするには、パブリックネットワーク経由で接続する必要があります。 |
ユーザーの VPC 設定に応じて、パブリックネットワークとプライベート VPC 接続の両方をサポートします。 |
ユーザーのホストネットワーク設定に依存します。 |
|
伸縮性 |
自動スケーリングをサポートします。複数のパイプラインタスクが並行して実行される場合、各タスクに独立したコンテナ環境が割り当てられます。 |
自動スケーリングをサポートします。複数のパイプラインタスクが並行して実行される場合、各タスクに独立したコンテナ環境が割り当てられます。 |
伸縮性はありません。ホストのリソース制限により、同時実行タスクが失敗する可能性があります。 |
|
仕様 |
複数の仕様が利用可能です:1 コア、2 コア、4 コア、8 コア、16 コア。 |
複数の仕様が利用可能です:1 コア、2 コア、4 コア、8 コア、16 コア。 |
設定不可。ユーザーのホスト仕様に依存します。 |
|
課金方法 |
パイプラインコア分に基づいて課金されます。計算係数は 1 です。たとえば、1 コアインスタンスが 1 分間実行されると、1 コア分を消費します。 |
パイプラインコア分に基づいて課金されます。計算係数は 0.8 です。たとえば、1 コアインスタンスが 1 分間実行されると、0.8 コア分を消費します。 |
パイプラインコア分を消費しません。セルフホストインスタンスは Basic Plan では利用できません。 |
移行シナリオ
中央サイトからリージョンサイトへの移行中は、移行の進捗状況に応じてビルドクラスターを選択します。上記の表にある課金方法が各オプションに適用されます。
-
中央サイトに留まる:China (Beijing)、 China (Hangzhou)、および China (Hong Kong) のデフォルトのパブリックビルドクラスターを利用している場合は、パイプラインを中央サイトに保持してください。これらのクラスターは Alibaba Cloud DevOps によって事前設定されており、VPC の設定は不要で、現在使用しているものと同じ Linux ビルド環境を提供します。
-
リージョンサイトに移行済み:リージョンサイトではパブリックビルドクラスターは提供されません。マネージド VPC ビルドクラスターを作成するか、独自のマシンをセルフホストビルドクラスターとして接続する必要があります。マネージド VPC ビルドクラスターでは、フローがビルドタスクとスケジューリングコマンドをプルできるように、VPC にパブリックネットワークアクセス (インターネット NAT ゲートウェイをバインドし、EIP と SNAT エントリを設定) が必要です。ターゲットリージョンに VPC とその vSwitch を作成し、クラスターを作成する前にパブリックネットワークアクセスを確認してください。マネージド VPC ビルドクラスターは特定のリージョンでのみ利用可能で、パブリックビルドクラスターと同様にオートスケーリングをサポートします。
-
セルフホストビルドクラスター:パブリックネットワークにアクセスでき、安定したネットワーク接続を持つ独自の Linux ホストを接続してください。セルフホストビルドクラスターでのビルド期間と同時実行タスクは、企業のビルドクォータを消費しません。セルフホストインスタンスは Basic plan では利用できません。
パブリックビルドクラスター
パブリックビルドクラスターは Alibaba Cloud DevOps によって事前設定されており、パブリックネットワーク経由でのみ、コードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、およびその他のクラウドリソースに接続できます。
Flow のホームページに移動し、 を選択します。[ビルドクラスター管理] ページでは、Flow が提供するパブリックビルドクラスターを確認できます:[シンガポールビルドクラスター]。
-
各ビルドタスクには新しいコンテナ環境が割り当てられ、タスクが完了すると解放されます。
-
ビルド環境は、カスタムコンテナイメージ URL をサポートしています。Alibaba Cloud DevOps は公式の共通イメージのリストを提供しており、独自のイメージをランタイム環境として指定することもできます。
-
ビルド環境の仕様を指定できます。大規模プロジェクトのニーズに合わせて、以下のオプションを利用できます: [SMALL_1C2G] (30 GB のディスク容量)、 [MEDIUM_2C4G] (30 GB のディスク容量)、 [LARGE_4C8G] (50 GB のディスク容量)、 [XLARGE_8C16G] (50 GB のディスク容量)、および [XXLARGE_16C32G] (50 GB のディスク容量)。
curl -s https://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/specified_container_checker/container_checker.sh | sh -s -- <image_url>ビルドで利用可能なメモリや CPU を増やすには (たとえば、ビルドタスクでメモリ不足が発生した場合)、パイプラインエディタに移動し、ターゲットのビルドタスク (Java や Node.js のビルドタスクなど) をクリックしてタスク設定パネルを開き、[ビルド環境の仕様] を [MEDIUM_2C4G] や [LARGE_4C8G] などの上位の階層に設定します。
依存するサービスがホワイトリストを使用している場合は、Flow のビルドインスタンス用に以下の IP アドレスを追加してください:
|
Flow サーバーのパブリック IP アドレス |
47.236.202.110, 8.219.58.226 |
|
Flow シンガポールビルドクラスターのパブリック IP アドレス |
47.236.13.43, 47.245.112.126 |
マネージド VPC ビルドクラスター
マネージド VPC ビルドクラスターを使用すると、Virtual Private Cloud (VPC) 内でビルドタスクを実行できます。これにより、コードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、その他のプライベートクラウドリソースへの安全なアクセスが可能になります。コードの取得からデプロイまでのプロセス全体を VPC 内で完結できるため、データセキュリティとネットワーク分離が確保されます。
-
マネージド VPC ビルドクラスターには事前にプロビジョニングされたリソースがないため、使用前に作成する必要があります。
-
この機能は現在、次のリージョンで利用できます: 、Singapore。
セキュリティ上のメリット
ネットワークセキュリティに関する要件が高いユーザーには、マネージド VPC ビルドクラスターは次のメリットを提供します。
-
実行時に VPC の Elastic Network Interface (ENI) をビルドタスクにアタッチします。
-
VPC のネットワークスタックを使用し、プライベートネットワークアクセスを可能にします。
-
RDS、ECS、セルフマネージドミドルウェアなど、VPC 内のリソースに直接アクセスできます。
-
機密情報がパブリックネットワーク上に公開されるのを防ぎ、全体的なセキュリティを強化します。
仕組み
VPC に関連付けられたビルドクラスターを作成することで、パイプラインビルドタスクの実行時に、Flow は VPC の Elastic Network Interface (ENI) をアタッチできます。これにより、ビルド環境がプライベートネットワークに接続されます。タスクは VPC ネットワークスタックを使用するため、データベース、ECS インスタンス、セルフホストサービスなどの VPC 内のリソースにアクセスできます。これにより、高いセキュリティとプライベートネットワーク接続の要件を満たします。
マネージド VPC ビルドクラスターの作成
前提条件
マネージド VPC ビルドクラスターを作成する前に、次のリソースを準備してください。
-
Alibaba Cloud VPC と対応する vSwitch。
-
構成済みのセキュリティグループルール。
-
VPC にはパブリックネットワークアクセスが必要です (インターネット NAT ゲートウェイ をバインドし、EIP と SNAT エントリを構成)。これにより、Flow がビルドタスクとスケジューリングコマンドをプルできるようになります。
操作手順
-
VPC サービス接続を作成します。
-
Flow のホームページで、 の順にクリックします。
-
[Service Connection Management] ページで、 [New Service Connection] をクリックします。
-
表示されるダイアログボックスで、サービス接続タイプとして [Virtual Private Cloud (VPC)] を選択し、 [Next] をクリックします。
-
次のパラメータを構成します。
-
カスタムの [Service Connection Name] を入力します。
-
[Service Authorization/Certificate] を構成します。
-
サービス接続の [Scope] を設定します。
-
-
構成が完了したら、 [Create] をクリックします。
-
-
マネージド VPC ビルドクラスターを作成します。
-
サービス接続を作成した後、左側メニューで [Build Cluster Management] をクリックします。
-
[Managed VPC Build Cluster] タブに切り替え、 [New Build Cluster] をクリックします。
-
基本情報を入力します。
-
[Build Cluster Name]:カスタム名。
-
[Tags]:分類と識別に用います。
-
[Visibility]:クラスターをプロジェクトメンバーに公開するかどうかを設定します。
-
[Members]:このビルドクラスターを使用できるメンバーまたはロールを指定します。
-
-
[Next] をクリックします。 [VPC Association] ページで、次のパラメータを構成します。
-
[Region] を選択します。 この機能は、China (Shanghai)、China (Beijing)、China (Shenzhen)、China (Hangzhou)、Singapore で利用できます。
-
[VPC] を選択します。
-
vSwitch と セキュリティグループ を構成します。
選択した VPC が Alibaba Cloud DevOps の Web サイト、コードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、その他のクラウドリソースにアクセスできることを確認してください。
-
-
-
構成が完了したら、 [Save] をクリックします。
-
クラスターを使用して検証します。
クラスターを作成した後、パイプライン内のビルドタスクの実行環境としてこれを選択します。環境の割り当てが停止する場合は、次の点を確認してください。
-
VPC にパブリックネットワークアクセスがあるかどうか。VPC にアウトバウンドのパブリックネットワークアクセスがない場合、Flow はビルド環境にスケジューリングコマンドを配信できません。これは通常、クラスターにノードを追加できない、またはタスクが「環境を要求中」の状態で長時間停止するという形で現れます。これを解決するには、 インターネット NAT ゲートウェイ を VPC にバインドし、対応するルートを構成して、VPC がアウトバウンドのパブリックネットワークアクセスを持つようにします。詳細については、[パブリックネットワーク](t120742.xdita#)をご参照ください。
-
セキュリティグループが必要なアウトバウンドトラフィックを許可しているかどうか。
-
サービス接続と RAM 認可が正しく有効であるかどうか。サービス接続で認可されたアカウントによって、どの VPC が表示されるかが決まるため、そのアカウントに属する VPC と Enterprise インスタンスのみが表示されます。VPC リストが空であるか、必要な VPC が含まれていない場合は、認可されたアカウントがその VPC を所有しているかどうかを確認してください。
-
ビルドクラスターの使用
パイプラインエディターで、タスク設定の [Build Cluster] オプションを、作成した VPC ビルドクラスターに変更します。パイプラインを保存して実行すると、Flow はタスクに新しいビルド環境を自動的に割り当て、関連付けられた VPC に接続してビルドとデプロイを完了します。
マネージド VPC ビルドクラスターは Alibaba Cloud DevOps のコンピューティングリソースを使用するため、その使用量はコア分単位で課金されます。
セルフホストビルドクラスター
ビルド環境に特別な要件がある場合、Flow では独自のマシンをセルフホストビルドクラスターとして接続できます。Alibaba Cloud ECS インスタンスまたはその他のホストを使用できます。Flow はコンテナ化されたビルドを使用し、パイプラインタスクをセルフホストビルドクラスター内のインスタンスにランダムにスケジューリングして、適切なコンテナ環境で実行します。
前提条件
ホストが次の要件を満たしていることを確認してください。
-
ホストがパブリックネットワークにアクセスできること。
これは、Runner インストールのコールバック、ビルドタスクの依存関係のダウンロード、その他のコールバック操作に必要です。
-
ホストのオペレーティングシステムとアーキテクチャが次の要件を満たしていること。
Linux
-
サポートされている Linux ディストリビューション:CentOS 6 以降、Ubuntu 16.04 以降、Alibaba Cloud Linux 2/3。
-
アーキテクチャ:Linux/amd64 および Linux/arm64 アーキテクチャをサポート。
-
ビルド環境:デフォルト VM 環境。
-
推奨構成:4 コア 8 GB 以上。
Windows
-
サポートされている Windows バージョン:Windows 2012、Windows 2016、Windows 2019、Windows 2022。
-
アーキテクチャ:Windows/amd64 アーキテクチャをサポート。
-
ビルド環境:デフォルト VM 環境をサポート。
macOS
-
サポートされている macOS バージョン:macOS Sonoma (14.0)、macOS Ventura (13.0)、macOS Monterey (12.0)。
-
アーキテクチャ:macOS/amd64 および macOS/arm64 アーキテクチャをサポート。
-
ビルド環境:デフォルト VM 環境をサポート。
-
技術的には、既に本番サービス (MySQL やコンテナ化されたアプリケーションなど) を実行している ECS インスタンスを、既存のサービスを中断することなくセルフホストビルドクラスターに接続することは可能ですが、Alibaba Cloud DevOps では、本番ホストをビルドノードとして再利用することは推奨しません。ビルドタスクは短期間に大量の CPU、メモリ、I/O を消費する可能性があり、既存のサービスのパフォーマンス変動や利用不可を引き起こす可能性があります。本番ホストをこのように再利用する前に、リソース分離のリスクを評価してください。
セルフホストビルドクラスターの作成
-
Flow のホームページに移動します。
-
の順に選択し、[セルフホストビルドクラスター] タブに移動します。
-
[New Build Cluster] をクリックします。[Build Cluster Name] と [Tags] を入力し、[Visibility] とこのクラスターの使用権限を持つ [Members] を構成します。
-
完了したら、[OK] をクリックしてビルドクラスターを作成します。
新しいノードの接続
-
Flow のホームページに移動します。
-
の順に選択し、[セルフホストビルドクラスター] タブに移動します。
-
対象のビルドクラスターを見つけて詳細ページを開き、[Add New Node] をクリックします。
Linux インスタンス
次のいずれかの方法で Linux インスタンスを接続できます:Runner の手動インストール。
-
Runner の手動インストール:Runner のインストールコマンドをコピーし、対象マシンで実行します。インストールが成功すると、マシンは自動的にクラスターに追加されます。ホストリストを更新して確認してください。
[]
インストールコマンドを実行すると、ターミナルに完全なインストールログが出力されます。ログに
service startedとservice status runningが表示されたら、Runner は正常にインストールされ、起動されています。出力例:[INFO] arch=x86_64 [INFO] version=v0.0.6 [INFO] pkg_endpoint=http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com [INFO] tenant=be-yxctbiii2ml4aydisrlfozvk [INFO] register_token=VoiMCHPXXrdfSsxmxmUu [INFO] wonder_endpoint=https://gray-devops-build.aliyuncs.com [INFO] scan_interval=5 [INFO] concurrency=50 [INFO] runner_group_uuid=HY8UhW1PmS2hpw27 [INFO] install yunxiao-runner v0.0.6 [INFO] download yunxiao-runner from http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/runner-v0.0.6-linux-amd64.tar.gz [INFO] wget -t 3 -O /tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/runner-v0.0.6-linux-amd64.tar.gz --2023-03-13 13:08:26-- http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/runner-v0.0.6-linux-amd64.tar.gz Resolving agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com (agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com)... 59.110.185.37 Connecting to agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com (agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com)|59.110.185.37|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13453535 (13M) [application/x-gzip] Saving to: '/tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz' /tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64. 100%[====>] 12.83M --.-KB/s in 0.1s 2023-03-13 13:08:27 (91.7 MB/s) - '/tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz' saved [13453535/13453535] [INFO] unpack downloaded package [INFO] tar -xvzf /tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz -C /usr/local/share/yunxiao-runner ./ ./v0.0.6/ ./v0.0.6/runner [INFO] register tenant runner [INFO] /usr/local/share/yunxiao/v0.0.6/runner register --url https://gray-devops-build.aliyuncs.com --token VoiMCHPXXrdfSsxmxmUu --tenant=be-yxctbiii2ml4aydisrlfozvk --workspace /root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner --scanInterval 5 --concurrency 50 --configPath /root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner/config --runnerGroupUUID=HY8UhW1PmS2hpw27 --autoUpgrade=true INFO[2023-03-13T13:08:27+08:00] [Register] options: {"URL":"https://gray-devops-build.aliyuncs.com","Token":"VoiMCHPXXrdfSsxmxmUu","Tenant":"be-yxctbiii2ml4aydisrlfozvk","Workspace":"/root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner","ScanInterval":5,"Concurrency":50,"RunnerGroupUUID":"HY8UhW1PmS2hpw27","ConfigPath":"/root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner/config","InstanceId":"","InstanceName":"","AutoUpgrade":true,"UpgradeInterval":1200} INFO[2023-03-13T13:08:27+08:00] Runner config file not exists, generating... INFO[2023-03-13T13:08:27+08:00] bind to HY8UhW1PmS2hpw27 INFO[2023-03-13T13:08:27+08:00] POST /api/v2/runner/register, time spent 0.19 s INFO[2023-03-13T13:08:27+08:00] register runner=a64e87f067fd496b9c946db45f2a144f INFO[2023-03-13T13:08:27+08:00] Runner register success. [INFO] install runner system service [INFO] /usr/local/share/yunxiao/v0.0.6/runner install --tenant=be-yxctbiii2ml4aydisrlfozvk INFO[2023-03-13T13:08:27+08:00] service type linux-systemd INFO[2023-03-13T13:08:27+08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service,linux-systemd installed [INFO] start runner service [INFO] /usr/local/share/yunxiao/v0.0.6/runner start --tenant=be-yxctbiii2ml4aydisrlfozvk INFO[2023-03-13T13:08:27+08:00] service type linux-systemd INFO[2023-03-13T13:08:28+08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service started INFO[2023-03-13T13:08:28+08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service status running [root@iZ2zecoxyny4bhymwfvdjmZ ~]#
Windows インスタンス
次のいずれかの方法で Windows インスタンスを接続できます:Runner の手動インストール。
-
Runner の手動インストール:Windows ホストで、PowerShell を管理者として開き、Runner のインストールコマンドを実行します。インストールが成功すると、マシンは自動的にクラスターに追加されます。ホストリストを更新して確認してください。
ダイアログには、次の PowerShell インストールコマンドの例が表示されます。
New-Item -ItemType Directory -Force -Path $Env:TEMP\yunxiao-temp; Invoke-WebRequest -Uri https://agent-install-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/install_windows.ps1 -OutFile $Env:TEMP\yunxiao-temp\install.ps1;powershell -File $Env:TEMP\yunxiao-temp\install.ps1 -v 'v0.2.2' -e 'https://agent-install-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com' -t 'be-ibbxkclsin9onyk0lbzltxnt' -a 'HB7ko8rOjZwoRBZ3z7c5' -w 'https://pm08.devops.alibabacloudcs.com/flow_build' -s '5' -c '50' -r 'GvBc2wmfyeNas5Yk'
macOS インスタンス
Runner の手動インストール方法で macOS インスタンスを接続できます。macOS ホストで、Runner のインストールコマンドをコピーして実行します。Runner が正常にインストールされると、マシンは現在のクラスターに自動的に追加されます。ホストリストを更新して確認してください。
インストールコマンドを実行する前に、ノード構成が前提条件を満たしていることを確認してください。インストールコマンドには有効期間があります。期限が切れた場合は、新しいコマンドを取得してください。
ビルドクラスター管理
に移動し、対象のビルドクラスターを見つけて詳細ページを開きます。
-
ビルドクラスターのホストリストを表示します。リストには、インスタンス ID、IP アドレス、ホスト名、OS/アーキテクチャ、使用状況、Runner ステータス、インストール進行状況などの情報が表示されます。
-
Runner の再インストール:Runner のステータスが異常な場合、再インストールできます。
-
ノードの削除:これは現在のビルドクラスターからノードのバインドを解除するだけです。物理マシンの削除や Runner のアンインストールは行いません。
-
クラスター設定:ビルドクラスターの名前、タグ、その他の設定を変更します。
-
クラスターの削除:ノードのバインドを解除し、クラスターデータを削除します。物理マシンの削除や Runner のアンインストールは行いません。
セルフホストビルドクラスターの使用
パイプラインエディターで、企業が作成したセルフホストビルドクラスターを選択します。パイプラインが実行されると、タスクはビルドインスタンスにランダムにスケジューリングされ、実行のために対応するコンテナ環境が起動されます。セルフホストビルドクラスターでのビルド時間と同時実行タスクは、企業のビルドクォータを消費しません。
セルフホストビルドクラスターを使用する場合、ビルド環境はタスクの期間中、お客様に割り当てられます。環境を完全に制御でき、実行スクリプトをカスタマイズできます。
セルフホストビルドクラスターを使用するパイプラインの確認方法
Flow コンソールでは、特定のセルフホストビルドクラスターを使用しているパイプラインを検索する機能や、クラスター ID でパイプラインをクエリする API は提供されていません。
手動で確認するには、各パイプラインを編集モードで開き、YAML の runsOn フィールドを確認します。セルフホストビルドクラスターの形式は runsOn: group: private/<cluster ID> です。クラスター ID は、[セルフホストビルドクラスター] タブ ([グローバル設定] > [ビルドクラスター管理]) で確認できます。runsOn を指定していないパイプラインは、デフォルトでパブリックビルドクラスターを使用します。
よくある質問
パブリックビルドクラスターで Docker ビルドが CoreCLR エラー、またはメモリ不足で失敗します。どうすればよいですか?
パブリックビルドクラスターでは、Docker デーモンに個別のメモリ制限を設定することはできません。ビルドで利用可能な全体のリソースを制御する唯一の方法は、[Build Environment specifications] を変更することです。
Docker ビルドが CoreCLR 作成エラー、メモリ不足 (OOM) エラー、または同様のメモリ関連のエラーで失敗する場合は、まず、より上位の [Build Environment specifications] 階層のパブリックビルドクラスターに切り替えてください。利用可能な最上位の階層でもニーズを満たせない場合は、セルフホストビルドクラスターを使用して独自の Linux ホストを接続することで、ホストリソースと Docker で使用可能なメモリをカスタマイズできます。
パイプラインがビルド環境の要求に失敗する、または指定されたイメージのプルに失敗します。どのようにトラブルシューティングすればよいですか?
カスタムイメージで [Specify the container environment] を使用していて、パイプラインがビルド環境の要求に失敗する場合(たとえば、スケジューリング直後にタスクが失敗またはキャンセル済みとしてマークされる場合)、イメージのプルに失敗した可能性が高いです。トラブルシューティングするには、次の手順を実行してください。
-
ローカルの Docker 環境で
docker pull <image-address>:<tag>を実行し、イメージが正常にプルできるかどうかを確認してください。 -
プルが失敗する場合は、イメージタグが存在し、スペルが正しいことを確認してください。
-
動作確認済みのイメージバージョンに切り替えて(たとえば、
dotnetcore:10.0を9.0に変更)、パイプラインを再実行してください。 -
イメージバージョンを切り替えた後もパイプラインが失敗する場合は、パイプラインの YAML 構成とネットワークホワイトリスト設定を確認してください。
公式イメージを使用する場合は、Alibaba Cloud DevOps がリージョンごとに build-steps-public-registry イメージリポジトリアドレスを置き換える点にご注意ください。公式イメージのプルが遅い、または失敗する場合は、イメージアドレスが選択したビルドクラスターのリージョンと一致していることを確認してください。
セルフホストビルドクラスターは特定のリージョンに制限されていますか? サポートされていないリージョンで使用するにはどうすればよいですか?
セルフホストビルドクラスターは、パブリックネットワーク経由で Alibaba Cloud DevOps と通信するため、マネージド VPC ビルドクラスターに適用されるリージョン制限の対象にはなりません。ホストがパブリックネットワークにアクセスできる限り、中国本土以外のリージョンや、マネージド VPC ビルドクラスターが利用できないリージョンを含む任意のリージョンでセルフホストビルドクラスターを使用できます。追加の VPC ピアリング構成は不要です。ホストと Alibaba Cloud DevOps 間のパブリックネットワーク接続が円滑であることを確認するだけで済みます。