実行環境
Space Automation の実行環境は、ワーカーのコンセプトに基づいています。ワーカーは、Space Automation に接続し、ジョブとソースコードを取得し、ジョブを実行して、結果を Space にレポートする軽量エージェントです。ワーカーは、Space Automation Cloud の仮想マシン、独自のセルフホストマシン、および Docker コンテナーで実行できます。次の表は、考えられる実行環境をまとめたものです。
ステップタイプ | 環境 | 説明 | OS とリソース |
---|---|---|---|
| Space クラウドワーカー | Space クラウドインフラストラクチャでホストされる仮想マシン。詳細 | OS: リナックス。予定: macOS、Windows デフォルト: 2 vCPU、7800 MB。 大: 4 vCPU、15600 MB。 特大: 8 vCPU、31200 MB ( フリープランでは利用できません)。 |
| Space クラウドのコンテナー | Space クラウドワーカーで実行されている Docker コンテナー。詳細 | OS: Linux のみ デフォルト: 2 vCPU、7800 MB。 最大: 8 vCPU、31200 MB。 フリープランの最大値: 4 vCPU、15600 MB。 |
| セルフホスト型ワーカー | 自己ホスト型のハードウェアまたは仮想マシン。詳細 | OS: Linux、macOS、Windows ホストマシンの利用可能なすべてのリソース |
| セルフホスト型ワーカーのコンテナー | セルフホスト型ハードウェアまたは仮想マシン上で実行される Docker コンテナー。詳細 | OS: Linux のみ ホストマシン上のコンテナーに割り当てられたすべてのリソース |
ジョブの実行環境を選択する
ジョブが最終的に実行される環境は、以下によって決まります。
組織またはプロジェクトに対して選択されるデフォルトのワーカープール : Space オートメーションクラウド (デフォルト) またはセルフホスト型ワーカー。
ジョブの要件:
job.requirements
。ステップタイプ:
job.container
またはjob.host
ステップの要件:
job.container.requirements
またはjob.host.requirements
。
特定の環境でジョブを実行する方法をより深く理解するには、サンプルを参照してください。
デフォルトのワーカープール
ジョブを実行するためのデフォルトのプールは、組織レベルおよびプロジェクトレベルでデフォルトのワーカープールパラメーターによって定義されます。プロジェクトレベルのパラメーターは、組織レベルのパラメーターよりも優先されます。
組織のデフォルトのワーカープールを変更するには
メインメニューで、
管理をクリックし、自動化を選択します。
デフォルトのワーカープールパラメーターを設定します。
Space オートメーションクラウド – クラウドワーカーを使用します。
セルフホスト型ワーカー – セルフホスト型ワーカーを使用します。
プロジェクトのデフォルトのワーカープールを変更するには
プロジェクトを開いて、ジョブページを開きます。
設定をクリックします。
デフォルトのワーカープールパラメーターを設定します: Space オートメーションクラウドまたはセルフホスト型ワーカー。
職務要件
job.requirements
ブロックは、次のパラメーターに基づいて、実行環境に対する要件をより具体的にします。
- ワーカープール
job.requirements.workerPool
: 指定した場合、デフォルトのワーカープール値をオーバーライドします。可能な値:Space Automation Cloud の
WorkerPools.SPACE_CLOUD
または"space-cloud"
セルフホスト型ワーカーの場合は
WorkerPools.SELF_HOSTED
または"self-hosted.default"
- ワーカータイプ
job.requirements.workerType
: ワーカーインスタンスを指定します。現在、このパラメーターは、Space Automation Cloud でワーカーインスタンス型を指定する場合にのみ使用できます。WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_REGULAR
または"space-cloud.ubuntu-lts.regular"
(デフォルト)WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_LARGE
または"space-cloud.ubuntu-lts.large"
WorkerTypes.SPACE_CLOUD_UBUNTU_LTS_XLARGE
または"space-cloud.ubuntu-lts.xlarge"
- リソース
job.requirements.resources
: ワーカープールに応じて、Space は指定されたリソース要件 (minCpu
およびminMemory
) を満たすクラウドワーカーまたはセルフホスト型ワーカーインスタンスのいずれかを選択します。host
レベルでresources
も指定すると、Space はより高いリソース要件に基づいて適切なワーカーを検索することに注意してください。例:// this job will run on a worker // that has at least 2.cpu and 4000.mb job("Example") { requirements { resources { minCpu = 1.cpu minMemory = 2000.mb } } // the container will be limited to 1.cpu and 2000.mb container(displayName = "Say Hello", image = "hello-world") host("Say Hello 2") { shellScript { content = "echo Hello World!" } // these requirements override job's requirements // as they are higher requirements { resources { minCpu = 2.cpu minMemory = 4000.mb } } } }
Space オンプレミスで環境を実行する
さまざまな実行環境のサポートは、オンプレミスの Space インストールタイプによって異なります。
セルフホスト型ワーカー – フルサポート。
クラウドワーカー – サポートされていません。
セルフホスト型ワーカー – フルサポート。
クラウドワーカー – Kubernetes はコンテナー内でのみワークロードを実行することを意味するため、オートメーションがクラウド内でジョブを実行するように構成されている場合 (例: Space オートメーションクラウドがジョブ設定で選択されているか、
job.requirements
にworkerPool = WorkerPools.SPACE_CLOUD
がある) は動作が異なります。この場合、ジョブでhost
ブロックが使用されている場合でも、オートメーションはそれを Docker コンテナーで実行します。job.requirements.workerType
での指定に関係なく、コンテナーには 2 つの vCPU と 7800 MB のメモリが搭載されています。コンテナーイメージは Alpine Linux に基づいており、Docker および Docker Compose のサポートを提供します。
サンプル
以下に、さまざまな環境でジョブを実行する方法の例を示します。
関連ページ:
![](https://pleiades.io/icons/jetbrains_logo.png)
Space クラウドワーカー
Space クラウドワーカーは、Space クラウドでホストされる仮想マシンです。各マシンは、セルフホスト型ワーカーに使用されるものと同じワーカーエージェントを実行します。クラウドワーカーを使用する主な理由の 1 つは、システムへの全体アクセスが必要であり、Docker コンテナーでは不可能な CI/CD タスクです。例: Docker と Docker Compose を制限なしで実行します。どのように機能するのか:Space Cloud ワーカーは、セルフホスト型ワーカーと同じワーカーエー...
![](https://resources.jetbrains.com/help/img/space/externalWorkerTags.png)
セルフホスト型ワーカー
セルフホスト型ワーカーは、Windows、Linux、macOS 上の独自のマシンで実行できる軽量エージェントです。セルフホスト型ワーカーは Space Automation に接続し、ジョブとプロジェクトのソースコードを取得してジョブを実行し、結果を Space にレポートします。セルフホスト型ワーカーを使用すると、コンテナーでは不可能な CI/CD ワークフローを実行できます。例:Windows 上で完全な .NET フレームワークアプリケーションを構築します。特定のハードウェアを使用する...
![](https://resources.jetbrains.com/help/img/space/onpremDockerComposeStructure.png)
Docker Compose のインストール
Kubernetes クラスターの代わりに、Docker Compose で構成された多数の Docker コンテナーで Space On-Premises インスタンスを実行できます。次の 2 つの場合には、Docker Compose のインストールをお勧めします。Space を運用環境で使用する前に、Space をテストして慣れることができる概念実証のインストール。アクティブな Space ユーザーが少ない小規模企業向けの実稼働環境。推奨されるインストール手順:Docker Compos...
![](https://resources.jetbrains.com/help/img/space/onpremK8sCluster.png)
Kubernetes のインストール
Space On-Premises の Kubernetes インストールは、より大きなワークロードの処理に適したスケーラブルなソリューションを提供します。クラスター自体は、独自の環境、Amazon Elastic Kubernetes Service、Google Kubernetes Engine、または Kubernetes をサポートするその他のクラウドサービスで実行できます。サポートされる Kubernetes の最小バージョンは 1.21 です。概要:ユーザーは、モバイルアプリ、W...