自動化の概念
Space オートメーションとは何ですか ?
オートメーションの主な目的は CI/CD です。プロジェクトリポジトリに保存されているスクリプトファイルを使用して、プロジェクトをビルド、テスト、デプロイできます。
コードとしての構成
スクリプトはオートメーションを構成する唯一の方法です。Space で表示されるオートメーション UI は、ログ、テスト、アーティファクトなどのスクリプト結果を視覚化するためにのみ使用されます。スクリプトは特別な DSL (ドメイン固有言語) で記述されます。
Kotlin ベースの DSL
DSL は Kotlin(英語) プログラミング言語に基づいているため、自動化スクリプト内で Kotlin データ型と言語構造を使用できます。
例: ubuntu:latest
Docker コンテナーで gradlew build
を実行する単純なスクリプト:
自動化スクリプト
自動化スクリプトは、プロジェクトのルートディレクトリの .space.kts
ファイルに保存する必要があります。.space.kts
を編集するには、Space コード Web エディターまたは IntelliJ IDEA のいずれかを使用できます。IDEA では DSL スクリプト用の自動コード補完とコードインスペクションが提供されているため、後者をお勧めします。
プロジェクトリポジトリ内に存在できる .space.kts
ファイルは 1 つだけであることに注意してください。
主な概念
ステップ | ステップはオートメーションの主要な構成要素です。以下について説明します。
|
作業 | ジョブは、ステップで構成される定義されたタスクです。最も単純な自動化スクリプトは 1 つの |
ワーカー | オートメーションジョブを実行するホストマシン。ワーカーには、Space が提供するクラウドワーカー (仮想マシン) と、独自のインフラストラクチャ上でセットアップして実行できるセルフホスト型ワーカー~ ワーカーの 2 種類があります。 |
デプロイ | ソースコードの変更をデプロイ環境 (デプロイターゲット) に配信するプロセス。 |
デプロイ対象 | デプロイの宛先ターゲットです。例: ステージングサーバー、実稼働前サーバー、実稼働サーバーである可能性があります。 |
関連ページ:
ジョブとステップ
ジョブ:ジョブは、ステップで構成される定義されたタスクです。最も単純な自動化スクリプトは 1 つのジョブで構成され、最も単純なジョブは 1 つのステップで構成されます。ステップ:最も基本的なオートメーション単位はステップです。ステップは自動化スクリプトの可能な最小の構成要素であり、次の 2 つの質問に答えます: 何を実行するか (シェルスクリプトや Kotlin コードなど)、どこで実行するか ? ステップを単独で使用することはできません。ジョブの一部としてのみ使用できます。ステップタイプ:ス...
デプロイ
デプロイは、ソースコードの変更を Space からデプロイ環境 (オートメーションの観点からはデプロイターゲット) に配信します。例: Space を使用して Web アプリケーションを開発します。環境はステージングサーバーと運用サーバーで構成されます。これらのサーバーはデプロイターゲットです。新しいアプリケーションバージョンを特定のサーバーに配信するプロセスはデプロイです。デプロイの主なゴールは、製品のリリースライフサイクルをより透明にすることです。デプロイターゲット (Web、デスクトップ、...