パイプラインは、コードのコンパイルやパッケージングなどのタスクでビルドクラスターを利用します。Flow は、CI/CD プロセスを迅速に開始できるように、マネージドパブリックビルドクラスターを提供します。また、独自のサーバーリソースを接続してセルフホストビルドクラスターを作成することもできます。これにより、さまざまなビジネスシナリオのカスタム要件に柔軟に対応できます。
ビルドクラスターの比較
|
パブリックビルドクラスター |
マネージド VPC ビルドクラスター |
セルフホストビルドクラスター |
|
|
インスタンスソース |
Alibaba Cloud DevOps が提供 |
Alibaba Cloud DevOps が提供 |
ユーザーが提供 |
|
対応リージョン |
China (Beijing)、China (Hangzhou)、China (Hong Kong) |
China (Shanghai)、China (Beijing)、China (Shenzhen)、China (Hangzhou) |
ユーザーのホストによります。 |
|
オペレーティングシステム |
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 では利用できません。 |
パブリックビルドクラスター
パブリックビルドクラスターは Alibaba Cloud DevOps によって事前設定されており、パブリックネットワーク経由でのみコードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、およびその他のクラウドリソースに接続できます。
Flow ホームページに移動し、 を選択します。[Build Cluster Management] ページで、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>
利用しているサービスがホワイトリストを使用している場合は、Flow のビルドインスタンス用に次の IP アドレスを追加してください:
|
Flow サーバーのパブリック IP アドレス |
47.236.202.110、8.219.58.226 |
|
Flow シンガポールビルドクラスターのパブリック IP アドレス |
47.236.13.43、47.245.112.126、172.30.0.0/16、172.31.0.0/16、172.32.0.0/16 |
マネージド VPC ビルドクラスター
マネージド VPC ビルドクラスターを使用すると、Virtual Private Cloud (VPC) 内でビルドタスクを実行できます。これにより、コードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、およびその他のプライベートクラウドリソースに安全にアクセスできます。コードの取得からデプロイまで、プロセス全体を VPC 内で完了でき、データのセキュリティとネットワークの分離を保証します。
-
マネージド VPC ビルドクラスターには事前にプロビジョニングされたリソースはなく、使用する前に作成する必要があります。
-
この機能は現在、次のリージョンで利用可能です:シンガポール。
セキュリティ上のメリット
ネットワークセキュリティ要件が高いユーザーにとって、マネージド VPC ビルドクラスターは次のメリットを提供します:
-
実行時に VPC から伸縮性ネットワークインターフェイス (ENI) をビルドタスクにアタッチします。
-
VPC のネットワークスタックを使用し、プライベートネットワークアクセスを可能にします。
-
RDS、ECS、セルフマネージドミドルウェアなど、VPC 内部リソースへの直接アクセスを許可します。
-
機密情報がパブリックネットワーク経由で漏洩するのを防ぎ、全体的なセキュリティを強化します。
仕組み
VPC に関連付けられたビルドクラスターを作成すると、パイプラインのビルドタスク実行時に、Flow は VPC から ENI をアタッチできます。これにより、ビルド環境がプライベートネットワークに接続されます。タスクは VPC ネットワークスタックを使用するため、データベース、ECS インスタンス、セルフホストサービスなどの VPC 内部リソースにアクセスできます。これにより、高いセキュリティとプライベートネットワーク接続という要件を満たします。
マネージド VPC ビルドクラスターの作成
前提条件
マネージド VPC ビルドクラスターを作成する前に、次のリソースを準備してください:
-
Alibaba Cloud VPC と対応する vSwitch。
-
設定済みのセキュリティグループルール。
-
Flow がビルドタスクとスケジューリングコマンドをプルできるように、VPC にはパブリックネットワークアクセスが必要です。
操作手順
-
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) で利用できます。
-
[VPC] を選択します。
-
[vSwitch] と [security group] を設定します。
選択した VPC が Alibaba Cloud DevOps の Web サイト、コードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、およびその他のクラウドリソースにアクセスできることを確認してください。
-
-
-
設定が完了したら、[Save] をクリックします。
-
クラスターを使用し、検証します。
クラスターを作成した後、パイプラインのビルドタスクの実行環境としてそのクラスターを選択します。環境の割り当てがスタックした場合は、以下を確認してください:
-
VPC にパブリックネットワークアクセスがあるか。
-
セキュリティグループが必要なアウトバウンドトラフィックを許可しているか。
-
サービス接続と RAM 認可が正しく、有効であるか。
-
ビルドクラスターの使用
パイプラインエディターに移動し、タスク設定で「ビルドクラスター」オプションを先ほど作成した 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 アーキテクチャをサポートします。
-
ビルド環境:[Default VM Environment] をサポートします。
macOS
-
サポートされている macOS バージョン:macOS Sonoma (14.0)、macOS Ventura (13.0)、macOS Monterey (12.0)。
-
アーキテクチャ:macOS/amd64 および macOS/arm64 アーキテクチャをサポートします。
-
ビルド環境:[Default VM Environment] をサポートします。
-
セルフホストビルドクラスターの作成
-
Flow ホームページに移動します。
-
を選択して、[Self-hosted build cluster] タブに移動します。
-
[New Build Cluster] をクリックします。[Build Cluster Name] と [Tags] を入力し、[Visibility] と、このクラスターを使用する権限を持つ [Members] を設定します。
-
完了したら、[OK] をクリックしてビルドクラスターを作成します。
新しいノードの接続
-
Flow ホームページに移動します。
-
を選択して、[Self-hosted build cluster] タブに移動します。
-
対象のビルドクラスターを見つけて詳細ページを開き、[Add New Node] をクリックします。
Linux インスタンス
Linux インスタンスは、次のいずれかの方法で接続できます:[Install Runner Manually]。
-
[Install Runner Manually] :Runner のインストールコマンドをコピーし、対象のマシンで実行します。インストールが成功すると、マシンは自動的にクラスターに追加されます。ホストリストを更新して確認してください。
[新しいノードの追加] ダイアログボックスで、オペレーティングシステムの種類 (例: [Linux]) を選択します。プロンプトに従って前提条件を確認し、インストールコマンドをコピーしてホストで実行します。なお、インストールコマンドには有効期間 (約 15 分のカウントダウン) があります。期限切れになった場合は、新しいコマンドを取得してください。

インストールコマンドを実行すると、ターミナルに完全なインストールログが出力されます。ログに
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:27+08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service started INFO[2023-03-13T13:08:27+08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service status running [root@iZ2zecoxyny4bhymwfvdjmZ ~]#
Windows インスタンス
Windows インスタンスは、次のいずれかの方法で接続できます:[Install Runner Manually]。
-
[Install Runner Manually] :Windows ホストで、管理者として PowerShell を開き、Runner のインストールコマンドを実行します。インストールが成功すると、マシンは自動的にクラスターに追加されます。ホストリストを更新して確認してください。

macOS インスタンス
macOS インスタンスは、[Install Runner Manually] の方法で接続できます。macOS ホストで、Runner のインストールコマンドをコピーして実行します。Runner が正常にインストールされると、新しいマシンは自動的に現在のクラスターに追加されます。ホストリストを更新して表示してください。
インストールコマンドを実行する前に、ノードの構成が前提条件を満たしていることを確認してください。インストールコマンドには有効期間があります。期限切れになった場合は、新しいコマンドを取得してください。
ビルドクラスター管理
に移動し、対象のビルドクラスターを見つけて詳細ページを開きます。
-
ビルドクラスターのホストリストを表示します。リストには、インスタンス ID、IP アドレス、ホスト名、OS/アーキテクチャ、使用状況、Runner のステータス、インストールの進捗などの情報が表示されます。
-
Runner の再インストール:Runner のステータスが異常な場合に再インストールできます。
-
ノードの削除:これにより、現在のビルドクラスターからノードのバインドが解除されるだけです。物理マシンを削除したり、Runner をアンインストールしたりすることはありません。
-
クラスター設定:ビルドクラスターの名前、タグ、その他の設定を変更します。
-
クラスターの削除:これにより、ノードのバインドが解除され、クラスターデータが削除されます。物理マシンを削除したり、Runner をアンインストールしたりすることはありません。
セルフホストビルドクラスターの使用
パイプラインエディターに移動し、企業で作成したセルフホストビルドクラスターを選択します。パイプラインが実行されると、タスクはビルドインスタンスにランダムにスケジューリングされ、対応するコンテナ環境が実行用に起動されます。セルフホストビルドクラスターでのビルド時間と同時実行タスクは、企業のビルドクォータを消費しません。
セルフホストビルドクラスターを使用する場合、ビルド環境はタスクの実行期間中、ユーザーに割り当てられます。ユーザーは環境を完全に制御し、実行スクリプトをカスタマイズできます。