パイプラインは、コードのコンパイルやパッケージングなどのタスクをビルドクラスターに依存しています。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 プランでは利用できません。 |
パブリックビルドクラスター
パブリックビルドクラスターは 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>
依存サービスがホワイトリストを使用している場合は、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 から elastic network interface (ENI) をビルドタスクにアタッチします。
-
ご利用の VPC のネットワークスタックを使用し、プライベートネットワークアクセスを可能にします。
-
RDS、ECS、セルフマネージドミドルウェアなど、VPC 内部リソースへの直接アクセスを許可します。
-
機密情報がパブリックネットワークに公開されるのを防ぎ、全体的なセキュリティを強化します。
仕組み
ご利用の VPC に関連付けられたビルドクラスターを作成することで、Flow はパイプラインのビルドタスク実行時に VPC から ENI をアタッチできます。これにより、ビルド環境がプライベートネットワークに接続されます。タスクは VPC ネットワークスタックを使用するため、データベース、ECS インスタンス、セルフホストサービスなどの VPC 内部リソースにアクセスできます。これにより、高いセキュリティとプライベートネットワーク接続の要件を満たします。
マネージド VPC ビルドクラスターの作成
前提条件
マネージド VPC ビルドクラスターを作成する前に、次のリソースを準備してください:
-
Alibaba Cloud VPC と対応する vSwitch。
-
設定済みのセキュリティグループルール。
-
Flow がビルドタスクとスケジューリングコマンドをプルできるように、VPC にはパブリックネットワークアクセスが必要です。
操作手順
-
VPC サービス接続を作成します。
-
Flow のホームページに移動し、 をクリックします。
-
[サービス接続管理] ページで、[新しいサービス接続] をクリックします。
-
表示されるダイアログボックスで、サービス接続タイプとして [Virtual Private Cloud (VPC)] を選択し、[次へ] をクリックします。
-
次のパラメーターを設定します:
-
カスタムの [サービス接続名] を入力します。
-
[サービス認可/証明書] を設定します。
-
サービス接続の [スコープ] を設定します。
-
-
設定が完了したら、[作成] をクリックします。
-
-
マネージド VPC ビルドクラスターを作成します。
-
サービス接続を作成した後、左側のナビゲーションウィンドウで [ビルドクラスター管理] をクリックします。
-
[マネージド VPC ビルドクラスター] タブに切り替え、[新しいビルドクラスター] をクリックします。
-
基本情報を入力します:
-
[ビルドクラスター名]:カスタム名。
-
[タグ]:分類と識別に使われます。
-
[可視性]:クラスターがプロジェクトメンバーに公開されるかどうかを設定します。
-
[メンバー]:このビルドクラスターを使用できるメンバーまたはロールを指定します。
-
-
[次へ] をクリックします。[VPC 関連付け] ページで、次のパラメーターを設定します:
-
[リージョン] を選択します。この機能は中国 (上海)、中国 (北京)、中国 (深セン)、中国 (杭州) で利用可能です。
-
[VPC] を選択します。
-
[vSwitch] と [セキュリティグループ] を設定します。
選択した VPC が Alibaba Cloud DevOps のウェブサイト、コードリポジトリ、アーティファクトリポジトリ、イメージリポジトリ、およびその他のクラウドリソースにアクセスできることを確認してください。
-
-
-
設定が完了したら、[保存] をクリックします。
-
クラスターの使用と検証
クラスターを作成した後、パイプラインのビルドタスクの実行環境としてそれを選択します。環境の割り当てがスタックした場合、以下を確認してください:
-
VPC がパブリックネットワークにアクセスできるか。
-
セキュリティグループが必要なアウトバウンドトラフィックを許可しているか。
-
サービス接続と RAM 認可が正しく有効であるか。
-
ビルドクラスターの使用
パイプラインエディターに移動し、タスク設定で「ビルドクラスター」オプションを先ほど作成した VPC ビルドクラスターに変更します。パイプラインを保存して実行します。Flow はタスクに新しいビルド環境を自動的に割り当て、関連付けられた VPC に接続してビルドとデプロイメントを完了します。
マネージド VPC ビルドクラスターは Alibaba Cloud DevOps の計算リソースを使用するため、その使用量はコア分に基づいて課金されます。
セルフホストビルドクラスター
ビルド環境に特別な要件がある場合、Flow では独自の マシンをセルフホストビルドクラスターとして接続できます。Alibaba Cloud Elastic Compute Service (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 環境] をサポートします。
-
セルフホストビルドクラスターの作成
-
Flow のホームページに移動します。
-
を選択して、[セルフホストビルドクラスター] タブに移動します。
-
[新しいビルドクラスター] をクリックします。[ビルドクラスター名] と [タグ] を入力し、[可視性] とこのクラスターを使用する権限を持つ [メンバー] を設定します。

-
完了したら、[OK] をクリックしてビルドクラスターを作成します。
新しいノードの接続
-
Flow のホームページに移動します。
-
を選択して、[セルフホストビルドクラスター] タブに移動します。
-
対象のビルドクラスターを見つけて詳細ページを開き、[新しいノードを追加] をクリックします。
Linux インスタンス
Linux インスタンスは、[Runner を手動でインストール] のいずれかの方法で接続できます。
-
[Runner を手動でインストール]:Runner のインストールコマンドをコピーし、対象のマシンで実行します。インストールが成功すると、マシンは自動的にクラスターに追加されます。ホストリストを更新して確認してください。


Windows インスタンス
Windows インスタンスは、[Runner を手動でインストール] のいずれかの方法で接続できます。
-
[Runner を手動でインストール]:Windows ホストで、PowerShell を管理者として開き、Runner のインストールコマンドを実行します。インストールが成功すると、マシンは自動的にクラスターに追加されます。ホストリストを更新して確認してください。

macOS インスタンス
macOS インスタンスは、[Runner を手動でインストール] 方法で接続できます。macOS ホストで、Runner のインストールコマンドをコピーして実行します。Runner が正常にインストールされると、新しいマシンは自動的に現在のクラスターに追加されます。ホストリストを更新して表示します。

ビルドクラスター管理
に移動し、対象のビルドクラスターを見つけて詳細ページを開きます。
-
ビルドクラスターのホストリストを表示します。リストには、インスタンス ID、IP アドレス、ホスト名、OS/アーキテクチャ、使用量、Runner ステータス、インストール進捗などの情報が表示されます。
-
Runner の再インストール:Runner のステータスが異常な場合に再インストールできます。
-
ノードの削除:これは現在のビルドクラスターからノードをアンバインドするだけで、物理マシンを削除したり Runner をアンインストールしたりするものではありません。
-
クラスター設定:ビルドクラスターの名前、タグ、その他の設定を変更します。
-
クラスターの削除:これによりノードがアンバインドされ、クラスターデータが削除されます。物理マシンを削除したり Runner をアンインストールしたりするものではありません。

セルフホストビルドクラスターの使用
パイプラインエディターに移動し、企業で作成したセルフホストビルドクラスターを選択します。パイプラインが実行されると、タスクはビルドインスタンスにランダムにスケジューリングされ、対応するコンテナ環境が実行のために開始されます。セルフホストビルドクラスターでのビルド時間と同時実行タスクは、企業のビルドクォータを消費しません。

セルフホストビルドクラスターを使用する場合、ビルド環境はタスクの期間中、ユーザーに割り当てられます。環境を完全に制御し、その実行スクリプトをカスタマイズできます。