huawei-cloud-deployment-task-management について
hcloud CLIでHuawei Cloud CodeArts Deployを操作するスキルです。デプロイアプリやタスクの管理を行うユーザー向けで、照会、失敗やOBS成果物の分析に加え、書き込み操作にはユーザー確認を求めます。
主な機能
- 01デプロイアプリとタスクの一覧表示
- 02タスク詳細と履歴の確認
- 03デプロイ失敗の分析
- 04OBS成果物リンクの確認
- 05デプロイタスクの作成・開始・削除
活用シーン
- 01プロジェクト内のデプロイアプリとタスクの確認
- 02ホスト停止や成果物不足などの原因調査
- 03デプロイタスクの作成と開始
- 04OBS内の成果物パスの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-deployment-task-managementインストール後、Claude Code で/huawei-cloud-deployment-task-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/acceptance-criteria.mdcli-installation-guide.mddataflow-diagram.mdiam-policies.mdtest-data-guide.mdtest-report.mdverification-method.mdscripts/ensure_cli.shscripts/cli/cli_entry.pycli_reporting.pytemplates/test-defaults.jsontest-vars.json詳細
Huawei Cloud CloudDeploy(CodeArts Deploy)
ステップ 0:skill-quality-cli をインストールする(冪等性あり。インストール済みの場合はスキップ)
CLI は ~/.local/bin/ にインストールされますが、ここが常に $PATH に含まれているとは限りません(skill-quality-cli をそのまま実行すると終了コード 127 で失敗する場合があります)。まず PATH をエクスポートしてからインストーラーを実行してください(将来のシェルに備えて、PATH のエクスポートを ~/.bashrc / ~/.profile にも保存します)。
export PATH="$HOME/.local/bin:$PATH"
bash scripts/ensure_cli.sh
skill-quality-cliが見つからない場合、スクリプトはバンドルされたscripts/cli/のソースを~/.local/bin/にインストールします(オフラインで動作し、外部ダウンロードはありません)。現在のセッションで PATH を再エクスポートし、~/.bashrc/~/.profileにも保存します。また、処理をブロックすることはありません。それでも見つからない場合は、絶対パス~/.local/bin/skill-quality-cliを呼び出してください。
概要
このスキルは、hcloud CLI を通じて Huawei Cloud CloudDeploy(CodeArts Deploy / 部署)を操作します。CloudDeploy は、ECS/BMS/CCI/Kubernetes などのターゲットへのアプリケーションデプロイを自動化します。アーティファクト(デフォルトのソース:OBS)を取得し、テンプレートから作成されたデプロイタスクを実行します。このスキルでは、次の操作を行えます。
| カテゴリ | 機能 |
|---|---|
| 照会 | デプロイアプリケーションの一覧表示(huawei_list_clouddeploy_apps)、デプロイタスクの一覧表示(huawei_list_clouddeploy_tasks)、タスク詳細の取得(huawei_get_clouddeploy_task) |
| 分析 | デプロイ失敗の根本原因分析(huawei_analyze_clouddeploy_failure — エージェントのオフライン/タイムアウト/アーティファクトの不足/権限)、OBS アーティファクトリンクの検証(huawei_analyze_clouddeploy_artifact) |
| 管理 | アプリケーションの作成(huawei_create_clouddeploy_app)、アプリを参照するデプロイタスクの作成(huawei_create_clouddeploy_task)、デプロイの開始(huawei_start_clouddeploy_task)、デプロイタスクの削除(huawei_delete_clouddeploy_task) |
コマンドを組み立てる前に、必ず
hcloud CodeArtsDeploy <Operation> --cli-region={region} --helpを実行し、現在の KooCLI バージョンでの正確なパラメーター名と必須フラグを確認してください。 一般的な知識に基づいて回答せず、このドキュメントの手順に従ってください。
依存関係:品質テレメトリーは、skill-quality-cli(存在しない場合は scripts/ensure_cli.sh によりインストール)が自動的に収集します。
重大な警告
| 落とし穴 | 理由 |
|---|---|
| Flyway の SQL 方言の不一致(開発環境の H2 → 本番環境の MySQL) | Spring Boot アプリでは、H2 のインメモリ DB を使って開発し、RDS MySQL にデプロイすることがよくあります。H2 固有の構文(DATEADD、CHARACTER_LENGTH、BOOLEAN)を使った Flyway マイグレーションは、H2 ではエラーなく通っても、MySQL では失敗します。デプロイ前に V*__*.sql マイグレーションファイルを監査し、DATEADD を DATE_ADD に、BOOLEAN を TINYINT(1) に置き換え、Spring Boot のデータソース URL から characterEncoding=utf8mb4 を削除してください(RDS ではインスタンスレベルで文字セットが設定されます)。方言の問題を早期に検出するため、CI で Flyway.validate-on-migrate=true を有効にしてください。 |
サービス名は CloudDeploy ではなく CodeArtsDeploy です | hcloud CloudDeploy <op> は「Unsupported service」を報告します(KooCLI 7.2.12)。実際のサービス名は CodeArtsDeploy です(メタデータディレクトリは codeartsdeploy)。必ず hcloud CodeArtsDeploy ListAllApp --cli-region=cn-north-4 --help で確認してください。 |
| デプロイ先ホストにはエージェントのインストールが必要です | ターゲットホスト(ECS/BMS/CCI)では、タスクを実行する前に CloudDeploy エージェント(ICAgent 形式のホストエージェント)がインストールされ、オンラインになっている必要があります。タスクを開始する前にホストの状態を確認してください。エージェントがオフラインであることは、「ホストがオフライン/実行失敗」の主な原因です。 |
| タスクではアプリケーションを指定する必要があります | 先にデプロイアプリケーションを作成してから、デプロイタスクを作成してください。アプリケーションを指定しないタスクは作成も開始もできません(CreateDeployTaskByTemplate ではアプリケーションのプロジェクトとテンプレートが必要です)。 |
| アーティファクトソースのデフォルトは OBS です | 多くのデプロイタスクでは、OBS バケットからアーティファクトを取得します。バケットとオブジェクトのパスが存在し、サービスアカウントに GetObject 権限があることを確認してください。ない場合、アーティファクトのダウンロード時にタスクが失敗します。 |
| 並列デプロイが競合する場合があります | 同じホスト/グループに複数のタスクを同時にデプロイすると、競合やデッドロックが発生することがあります。デプロイグループ、ホストロック、または直列化されたパイプラインを使用してください。また、別のタスクを開始する前に、すでに running 状態のタスクがないか確認してください。 |
| セキュリティの基本方針 | デプロイ権限には IAM ロールを使用し、デプロイ前にアーティファクトの整合性(チェックサム)を検証してください。また、平文の認証情報(AK/SK、DB パスワード)をデプロイスクリプトやタスクパラメーターに保存しないでください(シークレットには type=encrypt を指定した --params を使用できます)。 |
トリガー
ユーザーが CloudDeploy/CodeArts Deploy の操作、デプロイタスクの作成や管理、アーティファクト(OBS)の設定、またはデプロイ失敗のトラブルシューティングについて質問した場合に、このスキルを使用します。
トリガーフレーズ:「CloudDeploy」、「CodeArts Deploy」、「デプロイ」、「deploy task」、「deployment」、「deployment task」、「deploy application」、「デプロイタスク」、「デプロイアプリケーション」、「デプロイ開始」、「リリースデプロイ」、「release」、「アーティファクトのデプロイ」、「成果物のデプロイ」、「デプロイ失敗」、「パイプラインのデプロイ」、「CI/CD デプロイ」。
ユーザー発話の例:
- 「デプロイアプリケーション/デプロイタスクを作成してください」
- 「このデプロイタスクを開始/表示/削除してください」
- 「デプロイに失敗しました。原因を分析してください」
- 「OBS 上にアーティファクトが存在するか確認してください」
前提条件
- hcloud CLI がインストールされ、認証済みであること —
references/cli-installation-guide.mdを参照してください - 認証 — 次のいずれか:
- AK/SK 認証情報 — アクセスキーとシークレットキーを使って、デフォルトの hcloud プロファイルを設定します
(
references/cli-installation-guide.mdの「Authentication」セクションを参照)、または - 環境変数
HUAWEICLOUD_SDK_AK/HUAWEICLOUD_SDK_SK(またはHUAWEI_ACCESS_KEY/HUAWEI_SECRET_KEY)— hcloud が自動検出します
- AK/SK 認証情報 — アクセスキーとシークレットキーを使って、デフォルトの hcloud プロファイルを設定します
(
- IAM 権限 — 照会/分析には
CodeArts Deploy ReadOnlyAccess(または同等の読み取りアクション)、作成/開始/削除にはCodeArts Deploy FullAccess(またはreferences/iam-policies.mdに記載された書き込みアクション)が必要です —references/iam-policies.mdを参照してください - リージョンとプロジェクト:すべての CodeArtsDeploy API はリージョン/プロジェクトのスコープに属します。
--cli-region={region}と--project_id={project_id}を指定してください。プロジェクトは CodeArts (DevCloud)プロジェクトである必要があります。IAM プロジェクトだけを指定するとDeploy.00016902 项目不存在が返されます。 - 対象ホスト:すべての対象ホストに CloudDeploy エージェントがインストールされ、オンラインであること(「重要な警告」を参照)。また、アーティファクト用の OBS バケット/オブジェクトが同じリージョンに存在する必要があります。
skill-quality-cli—bash scripts/ensure_cli.shで確認します(冪等で、存在する場合はスキップします)- アップグレード:
skill-quality-cli upgradeを手動で実行します(自動アップグレードはありません) - テレメトリレポートを無効にする:
SKILL_QUALITY_REPORT=0またはSKILL_QUALITY_DISABLE=1を設定します
- アップグレード:
ワークフロー
1. Identify intent:
├── Query (R3 auto): list apps / list tasks / get task detail
├── Analyze (R3 auto): failure root-cause analysis, OBS artifact link verification
└── Manage (R1/R2): create app / create task / start task / delete task — preview + confirm
2. Gather scope: region, project_id, app/task IDs, time range (failure analysis), OBS path (artifact check)
3. Execute via hcloud CLI:
├── Query/Analyze → run command → return structured results
└── Manage → show exact command + effect → wait for user confirmation → execute
4. Handle traps: agent offline → check host agent; artifact missing → verify OBS bucket/object;
parallel conflict → check running tasks; dialect mismatch → audit Flyway migrations
5. Report results (JSON), masking AK/SK-like values in output
書き込み操作のルール: huawei_create_clouddeploy_app、huawei_create_clouddeploy_task、
huawei_start_clouddeploy_task(R2)、および huawei_delete_clouddeploy_task(R1)は、正確なコマンドとその影響をプレビューした後、ユーザーから明示的な確認を得るまで実行してはなりません。
削除(R1)の場合、ユーザーは平文で2回目の確認を行う必要があります(例:「削除を確認」)。
主なコマンド
サポート対象サービス(KooCLI):CodeArtsDeploy のみ。 このスキルでサポートされるサービス名はこれだけです。
CloudDeploy と Deploy はサポート対象のサービス名ではありません。hcloud CLI はこれらを [USE_ERROR]不支持的服务名称(サポートされていないサービス)で拒否します。これは想定どおりの正しい拒否です。このスキルのすべてのコマンドでは、hcloud CodeArtsDeploy <Operation> を使用する必要があります。
サービス名は CodeArtsDeploy です(KooCLI のメタデータディレクトリは codeartsdeploy。CloudDeploy は受け付けられません)。すべてのコマンドでリージョンパラメーター --cli-region={region} が必須です。例では --project_id を明示しています。hcloud プロファイルにデフォルトのプロジェクトが設定されている場合に限り、省略できます。各コマンドは1行で実行してください(\ による行継続は使用しません)。そのままコピーして貼り付けられる形式を保つためです。以下のパラメーター名は hcloud CodeArtsDeploy <Operation> --help(KooCLI 7.2.12)で検証済みです。サービス名 CodeArtsDeploy と各操作 ListAllApp / ListDeployTasks /
ShowDeployTaskDetail / ListDeployTaskHistoryByDate / CheckIsDuplicateAppName / CreateApp /
CreateDeployTaskByTemplate / StartDeployTask / DeleteDeployTask の正確な --key 名と制約については、以下のパラメーター確認表を参照してください。
⚠️ 必須:このスキルのすべての
hcloudコマンドは、skill-quality-cli run --skill-name huawei-cloud-deployment-task-management --でラップする必要があります。ラップされていないhcloudコマンドは厳禁です。
照会 — アプリケーション(R3、自動)
# List deploy applications in a project (page/size required; default size 1000)
hcloud CodeArtsDeploy ListAllApp --cli-region={region} --project_id={project_id} --page=1 --size=100
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ListAllApp --cli-region={region} --project_id={project_id} --page=1 --size=100
# Filter by status (abort|failed|not_started|pending|running|succeeded|timeout|not_executed)
hcloud CodeArtsDeploy ListAllApp --cli-region={region} --project_id={project_id} --page=1 --size=100 --states.1=failed --states.2=running
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ListAllApp --cli-region={region} --project_id={project_id} --page=1 --size=100 --states.1=failed --states.2=running
# Sort by name or start time (DESC|ASC)
hcloud CodeArtsDeploy ListAllApp --cli-region={region} --project_id={project_id} --page=1 --size=100 --sort_by=DESC --sort_name=startTime
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ListAllApp --cli-region={region} --project_id={project_id} --page=1 --size=100 --sort_by=DESC --sort_name=startTime
照会 — デプロイタスク(R3、自動)
# List deployment tasks (this legacy interface is maintained; ListAllApp is the new app-list API)
hcloud CodeArtsDeploy ListDeployTasks --cli-region={region} --project_id={project_id} --page=1 --size=50
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ListDeployTasks --cli-region={region} --project_id={project_id} --page=1 --size=50
# Get deployment task details by task ID
hcloud CodeArtsDeploy ShowDeployTaskDetail --cli-region={region} --task_id=00000000-0000-0000-0000-000000000000
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ShowDeployTaskDetail --cli-region={region} --task_id={task_id}
ShowDeployTaskDetailは 2024-09-30 以降非推奨です(新しい同等操作はShowAppDetailById)。ただし、引き続き保守されており、huawei_get_clouddeploy_taskで確認済みの操作です。
分析 — デプロイ失敗の根本原因(R3、自動)
# Query historical execution records of a task in a date range (interval ≤ 30 days)
hcloud CodeArtsDeploy ListDeployTaskHistoryByDate --cli-region={region} --project_id={project_id} --id=00000000-0000-0000-0000-000000000000 --start_date=2026-09-01 --end_date=2026-09-08 --page=1 --size=20
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ListDeployTaskHistoryByDate --cli-region={region} --project_id={project_id} --id={task_id} --start_date=2026-09-01 --end_date=2026-09-08 --page=1 --size=20
最新の失敗レコードを、次の順に確認して診断します。
- エージェントがオフライン/ホストが見つからない — 実行ログで対象ホストのステータスを確認し、ホストに CloudDeploy エージェントがインストールされ、オンラインであることを確認します。
- タイムアウト —
timeoutステータスを確認し、アーティファクトのサイズ、タスクのタイムアウト設定、対象ホストのリソースを確認します。 - アーティファクトが見つからない —
artifact not foundを確認し、タスクに設定されている OBS バケットとオブジェクトパスを確認します(huawei_analyze_clouddeploy_artifactを参照)。 - アクセス許可が拒否された — デプロイアカウントの IAM ロール/ポリシーと、ホストのアクセス許可を確認します。
- アプリケーションレベルのエラー — 例:
Deploy.00016902(プロジェクトが CodeArts プロジェクトではない)、名前の重複、テンプレートエラー。
分析 — OBS アーティファクトリンクの検証(R3、自動)
# 1) Get the task detail and read the artifact configuration (bucket + object/package path)
hcloud CodeArtsDeploy ShowDeployTaskDetail --cli-region={region} --task_id=00000000-0000-0000-0000-000000000000
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy ShowDeployTaskDetail --cli-region={region} --task_id={task_id}
# 2) One-time obsutil setup (before the first OBS check on each machine/region):
# `hcloud obs ...` is an obsutil passthrough command (raw CLI, not a KooCLI SDK
# API) — configure endpoint + reuse the same AK/SK as hcloud, then self-check
# with a bucket-list passthrough that carries an explicit obs:// URI.
# Prefer the interactive config below — AK/SK are typed at the terminal and stay
# out of shell history / ps aux, avoiding the plaintext-credential leak vector of
# passing -i=/-k= on the command line.
hcloud obs config -interactive
hcloud obs ls obs://{artifact_bucket}
# 3) Verify the OBS object exists (obsutil passthrough)
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud obs ls obs://{artifact_bucket}/{artifact_object_path}
⚠️ 実行者向けヒント:
hcloud obs <command>は obsutil バイナリへの CLI パススルー(コマンドラインをそのまま実行するもの)であり、OBS SDK 呼び出しではありません。 このスキルのすべての OBS コマンド(hcloud obs ls obs://...、hcloud obs cp、hcloud obs rmを含む)は、CLI 実行ツール(hcloud ...をそのまま実行)を通じて実行する必要があり、OBS SDK(huaweicloudsdkobs)にルーティングしたり、Python SDK のコードスニペットに変換したりしてはいけません。これにより、OBS SDK に依存することなく、hcloudとobsutilがインストールされた任意のマシンでアーティファクトの確認を実行できます。
期待される結果:タスクに OBS アーティファクトソースが表示され、ls がオブジェクトを返します。hcloud obs が Warn: Please set ak, sk and endpoint in the configuration file! を出力した場合、obsutil はまだ設定されていません。続行する前にステップ 2(設定と bucket list によるセルフチェック)を実行してください。オブジェクトが見つからない場合は、アーティファクトを再アップロードするか、タスクのアーティファクトパスを修正するよう案内します。アクセスが拒否された場合は、OBS バケットポリシーと、デプロイアカウントの GetObject 権限を確認します。
管理 — アプリケーションの作成(R2、プレビュー+確認)
# Pre-check that the application name is unique in the project (GET)
hcloud CodeArtsDeploy CheckIsDuplicateAppName --cli-region={region} --project_id={project_id} --name=test-app
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy CheckIsDuplicateAppName --cli-region={region} --project_id={project_id} --name={app_name}
# Create the application (from template type; draft flag controls publish state)
hcloud CodeArtsDeploy CreateApp --cli-region={region} --project_id={project_id} --name=test-app --create_type=template --is_draft=false
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy CreateApp --cli-region={region} --project_id={project_id} --name={app_name} --create_type=template --is_draft=false [--description={description}]
実行前にプレビューします。実行するコマンドと作成するアプリケーションを正確に表示してから、ユーザーの確認を待ちます(R2)。
CheckIsDuplicateAppNameが "duplicate" を返した場合は、別の名前を選択します。
管理 — デプロイタスクの作成(R2、プレビュー+確認)
# Create a deployment task from a template (task must reference an existing application/project)
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy CreateDeployTaskByTemplate --cli-region={region} --project_id={project_id} --project_name={project_name} --task_name={task_name} --template_id={template_id} [--configs.1.name={param_name} --configs.1.value={param_value} ...]
実行前にプレビューします。実行するコマンドと作成するタスクを正確に表示してから、ユーザーの確認を待ちます(R2)。デプロイ手順はテンプレートで決まります。アプリケーション(プロジェクト)がすでに存在している必要があります(先に
huawei_create_clouddeploy_appで作成してください)。
管理 — デプロイの開始(R2、プレビュー+確認)
# Start the deployment task (target hosts must have the agent online)
hcloud CodeArtsDeploy StartDeployTask --cli-region={region} --task_id=00000000-0000-0000-0000-000000000000
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy StartDeployTask --cli-region={region} --task_id={task_id}
# Start with dynamic parameters (type: text|host_group|encrypt|enum)
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy StartDeployTask --cli-region={region} --task_id={task_id} --params.1.key={param_name} --params.1.type=encrypt --params.1.value={param_value}
実行前に、タスク、対象ホスト、アーティファクトソースをプレビューし、ユーザーの確認を待ちます(R2)。同じホストで別のタスクが現在
runningになっていないことを確認します(並列実行の競合に注意)。シークレットには--params.N.type=encryptを使用してください。スクリプトで認証情報を平文のまま扱ってはいけません。
管理 — デプロイタスクの削除(R1、プレビュー+明示的な確認)
# Delete a deployment task by task ID
hcloud CodeArtsDeploy DeleteDeployTask --cli-region={region} --task_id=00000000-0000-0000-0000-000000000000
skill-quality-cli run --skill-name huawei-cloud-deployment-task-management -- hcloud CodeArtsDeploy DeleteDeployTask --cli-region={region} --task_id={task_id}
R1 の削除操作です。実行するコマンドと削除対象のタスクを正確にプレビューしてから、実行前に明示的な2回目の確認(例:ユーザーがタスク名または「削除を確認」と入力すること)を求めます。タスクを削除しても、アプリケーションやデプロイ済みのリソースは削除されません。
パラメーターの確認
以下のすべてのパラメーター名は、hcloud CodeArtsDeploy <Operation> --help(KooCLI 7.2.12)で確認済みです。{} 内の値はプレースホルダーです。実際の値に置き換えてください。
パラメーター名を推測してはいけません。不明な場合は、--help を再実行してください。
ListAllApp
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--project_id | はい | string | CodeArts のプロジェクト ID |
--page | はい | integer | ページ番号、≥ 1 |
--size | はい | integer | ページあたりの項目数、デフォルトは 1000 |
--group_id | いいえ | string | アプリケーショングループ ID。グループ化されていないアプリの場合は no_grouped |
--sort_by | いいえ | string | DESC または ASC、デフォルトは DESC |
--sort_name | いいえ | string | name または startTime |
--states.[N] | いいえ | array<string> | abort|failed|not_started|pending|running|succeeded|timeout|not_executed |
ListDeployTasks
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--project_id | はい | string | CodeArts のプロジェクト ID |
--page | はい | integer | ページ番号、≥ 1 |
--size | はい | integer | ページあたりの項目数、≤ 100 |
ShowDeployTaskDetail
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--task_id | はい | string | デプロイタスク ID |
ListDeployTaskHistoryByDate
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--project_id | はい | string | CodeArts のプロジェクト ID |
--id | はい | string | デプロイタスク ID |
--start_date | はい | string | 開始時刻、yyyy-MM-dd |
--end_date | はい | string | 終了時刻、yyyy-MM-dd。開始日からの期間は 30 日以内 |
--page | はい | integer | ページ番号、≥ 1 |
--size | はい | integer | ページあたりの項目数、≤ 100 |
CheckIsDuplicateAppName
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--project_id | はい | string | CodeArts のプロジェクト ID |
--name | はい | string | 確認するアプリケーション名 |
CreateApp
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--project_id | はい | string | CodeArts のプロジェクト ID |
--name | はい | string | アプリケーション名 |
--create_type | はい | string | template |
--is_draft | はい | boolean | 下書き(true)または公開済み(false)として作成 |
--description | いいえ | string | アプリケーションの説明 |
--group_id | いいえ | string | アプリケーショングループ ID |
--arrange_infos.[N].* | いいえ | object | アプリケーションの構成/ステップ定義 |
--trigger.* | いいえ | object | トリガー元の制限(trigger_source:0 = すべて、1 = パイプラインのみ) |
--slave_cluster_id | いいえ | string | カスタムスレーブリソースプール ID |
CreateDeployTaskByTemplate
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--project_id | はい | string | CodeArts プロジェクト ID |
--project_name | はい | string | プロジェクト名 |
--task_name | はい | string | タスク(アプリケーション)名 |
--template_id | はい | string | デプロイテンプレート ID — テンプレートからアプリを作成する際に CodeArts Deploy コンソールの模板库 から取得します(デプロイテンプレート用の CLI 一覧表示操作はありません。ShowTemplate/ListTemplates はサポートされている操作ではありません) |
--configs.[N].name | いいえ | string | デプロイパラメーター名 |
--configs.[N].value | いいえ | string | デプロイパラメーター値 |
--configs.[N].type | いいえ | string | text|host_group|enum|encrypt(name を設定する場合は必須) |
--configs.[N].static_status | いいえ | integer | 1 = デプロイ中に変更不可、0 = 変更可能 |
--configs.[N].limits.[N].* | いいえ | object | 列挙値のオプションパラメーター |
--configs.[N].task_id | いいえ | string | アプリ作成後に自動生成 |
--slave_cluster_id | いいえ | string | カスタムスレーブリソースプール ID |
StartDeployTask
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--task_id | はい | string | デプロイタスク ID |
--params.[N].key | いいえ | string | デプロイ時に渡すパラメーター名 |
--params.[N].type | いいえ | string | text|host_group|encrypt|enum(動的パラメーターでは必須) |
--params.[N].value | いいえ | string | パラメーター値 |
--record_id | いいえ | string | デプロイレコード ID(前回のデプロイにロールバック) |
--trigger_source | いいえ | string | 0 = 制限なし、1 = パイプラインのみのトリガー |
DeleteDeployTask
| パラメーター | 必須 | 型 | 説明 |
|---|---|---|---|
--cli-region | はい(自動) | string | API を呼び出せるリージョン |
--task_id | はい | string | デプロイタスク ID |
KooCLI コマンド形式の標準
一般的な呼び出し形式は hcloud <service> <Operation> --cli-region=<region> [--key=value ...] です。
— これは形式の説明のみです。<...> と [--key=value] はプレースホルダーであり、そのまま実行するものではありません。
| 機能 | 規則 | 例 |
|---|---|---|
| サービス名 | CodeArtsDeploy(メタデータディレクトリは codeartsdeploy。CloudDeploy はサポートされていません) | hcloud CodeArtsDeploy ListAllApp --cli-region=cn-north-4 |
| 操作名 | パスカルケース | ListAllApp、StartDeployTask |
| リージョンパラメーター | --cli-region=<value> を常に含める | --cli-region=cn-north-4 |
| 単純なパラメーター | --key=value | --project_id=xxx |
| インデックス付きパラメーター | --key.N=value | --states.1=failed、--params.1.key=xxx |
| ネストされたパラメーター | --parent.child=value | --configs.1.type=encrypt |
| 検証 | まず --help を実行します。パラメーター名は --help の出力からのみ取得します | hcloud CodeArtsDeploy CreateApp --cli-region=cn-north-4 --help |
ツールパラメーターの検証(必須)
実行前にすべてのパラメーターを検証してください。不正な入力は直接拒否し、hcloud に渡してはいけません。
| 検証 | ルール |
|---|---|
| 許可リストの列挙値 | ドキュメントに記載された値のセット(--cli-region、--states.[N]、--sort_by、--size、--page、--create_type、--is_draft、--configs.[N].type、--params.[N].type、...)に完全一致する必要があります。それ以外は拒否し、許可された値を一覧表示します |
| 型チェック | 数値パラメーター(--page、--size)は正の整数(≥ 1。--size は一覧/タスクインターフェースでは ≤ 100)である必要があります。名前/ID パラメーター(--project_id、--task_id、--id、--template_id、--app_name)は、[a-zA-Z0-9_-]+ に一致する文字列である必要があります |
| 日付範囲 | --start_date/--end_date は yyyy-MM-dd 形式で、期間は 30 日以内である必要があります。それ以外は拒否します |
| シークレットパラメーター | --params.[N].type=encrypt の値をログや出力に表示してはいけません。* でマスクした表示のみを使用します |
| 不明なパラメーターの拒否 | hcloud CodeArtsDeploy <Operation> --help に記載されていないパラメーターは、コマンドの実行前に拒否します |
想定される CLI の拒否(検証/境界ケース用)
これらは想定されるエラー結果です。CLI または API が入力を拒否し、その拒否自体が正しい結果であり、スキルの不具合ではありません。
| 入力 | 想定される拒否 |
|---|---|
--page=0(または 1 未満のページ) | DEV-12-50002 page参数异常,仅支持数字(1~99999) |
不明な --task_id 形式(例:32 文字ではない値) | DEV-12-50002 task_id参数异常,仅支持数字、字母字符(32个字符) |
--project_id に CodeArts 以外の(通常の IAM)プロジェクト ID を指定 | Deploy.00016902 项目不存在(プロジェクトスコープの制限) |
サービス名に CodeArtsDeploy ではなく CloudDeploy/Deploy を指定 | [USE_ERROR]不支持的服务名称:CloudDeploy(未対応のサービスです。対応している名前は CodeArtsDeploy です) |
| 不明なパラメーターフラグ | [USE_ERROR]不正确的参数:xxx |
obsutil が設定されていない状態での hcloud obs | Warn: Please set ak, sk and endpoint in the configuration file! |
参考ドキュメント
references/iam-policies.md— CloudDeploy 用の最小権限 IAM ポリシーreferences/cli-installation-guide.md— hcloud CLI のインストールと AK/SK/プロファイル認証(OBS アーティファクト検証のセットアップを含む)references/verification-method.md— クエリ/分析/管理アクションの検証手順references/dataflow-diagram.md— Mermaid データフロー図references/acceptance-criteria.md— このスキルの受け入れ基準references/test-data-guide.md— テストデータのプレースホルダーと、実環境での実行前に値を補完する方法