JetBrains Space ヘルプ

ジョブとステップ

Jobs and steps DSL

ジョブ

ジョブは、ステップで構成される定義されたタスクです。最も単純な自動化スクリプトは 1 つのジョブで構成され、最も単純なジョブは 1 つのステップで構成されます。

ステップ

最も基本的なオートメーション単位はステップです。ステップは自動化スクリプトの可能な最小の構成要素であり、次の 2 つの質問に答えます: 何を実行するか ( シェルスクリプトKotlin コードなど)、どこで実行するか ? ステップを単独で使用することはできません。ジョブの一部としてのみ使用できます。

ステップタイプ

ステップタイプは、ステップの実行環境を定義します。オートメーションには 2 種類のステップがあります。

  • host

    • Space Automation クラウドの仮想マシン (ワーカー) またはセルフホスト型ワーカー上で実行されます。

    • 単一のブロックで複数のスクリプト (kotlinScript および shellScript) を実行できます。これらのスクリプトは順番に実行されます。これらは同じマシン上で実行されるため、同じファイルシステムを共有します。

  • container

    • ワーカー (クラウドまたはセルフホスト) 内の Docker コンテナーで実行されます。

    • 1 つのブロック内で 1 つのスクリプト (kotlinScript および shellScript) のみを実行できます。

例:

job("Example") { // run the job in a default instance in cloud requirements { workerPool = WorkerPools.SPACE_CLOUD } host("Run echo") { shellScript { content = """ echo "Hello from worker!" """ } shellScript { content = """ echo "Hello from worker one more time!" """ } } container(displayName = "Say Hello", image = "ubuntu") { shellScript { content = """ echo "I can run shellScript only once!" """ } } }

ファイルシステム

  • 各ステップは新しい環境で実行されます。これは、各ステップにプロジェクトソースの新しいコピーを含む独自のファイルシステムがあることを意味します。そのため、さまざまなスクリプト ( kotlinScriptshellScript など) を 1 つのステップで実行する必要がある場合は、host ステップタイプを使用することをお勧めします。

  • ステップ間でファイルを共有することもできます。

  • コンテナーワーカーのファイルシステムについて詳しく学習してください。

並列実行と逐次実行

  • スクリプト内のすべてのジョブは並行して実行されます。

  • ジョブ内のステップは、順番に並行して実行できます。

ジョブトリガー

制限

  • スクリプトには最大 100 個のジョブを含めることができ、各ジョブには最大 50 個のステップを含めることができます。

  • ジョブのタイムアウトのデフォルトおよび最大許容値は 2 時間です。

関連ページ:

シェルスクリプトの実行

キーワードを使用すると、任意のシェルスクリプトを実行できます。これは、1 ライナーまたは複数行のスクリプトである可能性があります。デフォルトのスクリプトインタープリターはで変更できます。例:job("Run shell script") { container(displayName = "Show work dir", image = "ubuntu") { shellScript { interpreter = "/bin/bash" // note that you should esca...

セルフホスト型ワーカー

セルフホスト型ワーカーは、Windows、Linux、macOS 上の独自のマシンで実行できる軽量エージェントです。セルフホスト型ワーカーは Space Automation に接続し、ジョブとプロジェクトのソースコードを取得してジョブを実行し、結果を Space にレポートします。セルフホスト型ワーカーを使用すると、コンテナーでは不可能な CI/CD ワークフローを実行できます。例:Windows 上で完全な .NET フレームワークアプリケーションを構築します。特定のハードウェアを使用する...

ジョブ実行のトリガー

自動化は次のジョブトリガーをサポートします。デフォルトで有効になっています。ユーザーが参照 (ブランチ、タグ、コミット、その他の Git 参照) をプロジェクトリポジトリにプッシュした後にジョブを実行します。の範囲を制限して、プロジェクトリポジトリ内の変更ではなく特定のブランチ、タグ、ディレクトリ、ファイルの変更についてのみがトリガーされるようにすることができます。マルチリポジトリプロジェクトがある場合は、特定のリポジトリ内の変更に対してジョブを実行するようにトリガーを設定できます。詳細 |DSL...

ジョブの表示、実行、停止、サブスクライブ

プロジェクトのジョブページでは、ジョブの実行と停止、現在のジョブの実行進行状況と実行結果の表示、およびジョブ通知のサブスクライブを行うことができます。ジョブの実行結果を表示する:プロジェクトに移動します。サイドバーメニューで、ジョブを選択します。必要なリポジトリとブランチが選択されていることを確認してください。このページには、プロジェクト内のすべてのジョブのリストとその実行結果が表示されます。ここでは、たとえば次のような場合にジョブフィルターを適用することもできます。実物のみジョブを残す: 自...