Skip to main content
Environments

Environment スキーマ

Environment オブジェクトと設定構造。

Environment オブジェクト

作成、取得、一覧、更新、アーカイブの各エンドポイントで返される構造です。
フィールド説明
idstringEnvironment ID(env_ プレフィックス付き)
typestring固定値 "environment"
namestringEnvironment 名
descriptionstringEnvironment の説明
configEnvironment configEnvironment 設定
metadataobjectMetadata オブジェクト、デフォルト {}
archived_atstring | nullUTC アーカイブ時刻。未アーカイブ時は null
created_atstringUTC 作成時刻
updated_atstringUTC 最終更新時刻

Environment config

フィールド必須説明
typestringはい"cloud" または "self_hosted"
packagesEnvironment packagesいいえEnvironment に関連付けられたパッケージ宣言
setup_scriptstringいいえユーザーセットアップスクリプトのテキスト。詳細は Environment setup script を参照
self_hosted の場合、config には type と任意の setup_script を指定できます:
{"type": "self_hosted", "setup_script": "./initialize-worker.sh"}
self_hosted config で使用できるのは type と任意の setup_script のみです。

Environment packages

packages はパッケージマネージャーからパッケージ仕様文字列の配列へのマッピングです。リクエストでは aptnpmpip を指定できます。Cloud Environment のレスポンスには予約済みフィールドも含まれ、省略された配列は [] として返されます。
キー説明
typestringレスポンスでは固定値 "packages""packages"
aptstring の配列Debian/Ubuntu システムパッケージ宣言["git", "curl", "build-essential"]
npmstring の配列Node.js パッケージ宣言["typescript@5.0.0", "eslint"]
pipstring の配列Python パッケージ宣言["pandas", "PyYAML==6.0.1"]
cargostring の配列予約済みのレスポンスフィールド。現在、このフィールドからのパッケージインストールはサポートされません[]
gemstring の配列予約済みのレスポンスフィールド。現在、このフィールドからのパッケージインストールはサポートされません[]
gostring の配列予約済みのレスポンスフィールド。現在、このフィールドからのパッケージインストールはサポートされません[]

Environment setup script

setup_script はサンドボックスの準備段階で packages のインストール完了後に実行されるシェルスクリプトで、/bin/bash -lc で実行されます。リポジトリのクローン、設定ファイルの書き込み、キャッシュのウォームアップなど、packages では表現できない初期化手順に使用します。
制約
string
最大長64 KB
インタープリタ/bin/bash -lc
タイムアウト10 分
実行タイミングサンドボックス準備段階、packages インストール完了後
実行成功時にはサンドボックス内に完了マーカーが書き込まれ、同一サンドボックス内では再実行されません。サンドボックスが再作成された場合は再度実行されます。 スクリプトがゼロ以外の終了ステータスで終了すると、セッションの起動が失敗します。エラーレスポンスには setup_script の終了コードと stderr の抜粋が含まれ、障害の原因を特定するのに役立ちます。
{
  "config": {
    "type": "cloud",
    "setup_script": "set -euo pipefail\n[ -d /data/workspace/repo/.git ] || git clone https://github.com/me/repo /data/workspace/repo\ncd /data/workspace/repo && pnpm install --frozen-lockfile"
  }
}
Environment スキーマ - Qoder