VPC環境で利用できます。
各ワークフローは様々なアクションに基づいて構成され、これにより繰り返しタスクを自動化して開発生産性を向上させることができます。
ワークフローのアクションリストは、SourceBandワークフローで提供するアクションについて説明します。
アクションリスト
ワークフローで使用可能なアクションリストは次の通りです。
| 名前 | バージョン | 説明 | 備考 |
|---|---|---|---|
| Build with SourceBuild | v1.0.0 | SourceBuildプロジェクトを使用してコードをビルドします。 | -を選択したアクション設定に連携する SourceBuildプロジェクトの設定が適用されます。 例: Config.Cmd (ビルドコマンド)下位設定に入力せず -を選択した場合、アクション実行時に連携する SourceBuildプロジェクトのビルドコマンド設定が適用されます。 Config.Cmd.DockerBuild(Dockerイメージビルド)設定は連携する SourceBuildプロジェクト設定で 도커 이미지 빌드 使用をチェックすると正常適用・実行されます。 |
| Deploy to Server with SourceDeploy | v1.0.0 | SourceDeployシナリオを使用して Serverにアプリケーションをリリースします。 | -を選択したアクション設定に連携する SourceDeployシナリオの設定が適用されます。 例: Config.File (リリースファイル)設定で -を選択した場合、アクションの実行時に連携する SourceDeployシナリオのリリースファイル設定が適用されます。 |
| Deploy to Auto Scaling Group with SourceDeploy | v1.0.0 | SourceDeployシナリオを使用して Auto Scaling Groupにアプリケーションをリリースします。 | -を選択したアクション設定に連携する SourceDeployシナリオの設定が適用されます。 例: Config.File (リリースファイル)設定で -を選択した場合、アクションの実行時に連携する SourceDeployシナリオのリリースファイル設定が適用されます。 블루/그린の場合、배포 실패 시 롤백 機能は動作しません。 |
| Deploy to ObjectStorage with SourceDeploy | v1.0.0 | SourceDeployシナリオを使用して ObjectStorageにアーティファクトをリリースします。 | -を選択したアクション設定に連携する SourceDeployシナリオの設定が適用されます。 例: Config.Cmd.Deploy (リリースパス)設定に入力しない場合、アクションの実行時に連携する SourceDeployシナリオのリリースパス設定が適用されます。 |
| Deploy to Kubernetes cluster with SourceDeploy | v1.0.0 | SourceDeployシナリオを使用して Ncloud Kubernetes Serviceクラスタにアプリケーションをリリースします。 |
注意
Deploy to Kubernetes cluster with SourceDeployアクションは実行中にキャンセルできません。
各アクションについての YAML入力スキーマは、アクションスキーマをご参照ください。
アクションスキーマ
各アクションについての YAML入力フィールドと構造を JSON Schema形式で説明します。
Build with SourceBuild
クリックして詳細スキーマを確認
{
"type": "object",
"properties": {
"Identifier": {
"type": "string",
"const": "ncp/sourcebuild@v1.0.0"
},
"Config": {
"type": "object",
"properties": {
"Resource": {
"type": "object",
"properties": {
"ProjectName": {
"type": "string",
"minLength": 1
}
},
"required": ["ProjectName"],
"additionalProperties": false
},
"Source": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": ["branch", "commit"]
},
"Target": {
"type": "string",
"minLength": 1
}
},
"required": ["Type", "Target"],
"additionalProperties": false
},
"Cmd": {
"type": "object",
"properties": {
"Pre": {
"type": "array",
"items": {
"type": "string"
}
},
"Build": {
"type": "array",
"items": {
"type": "string"
}
},
"Post": {
"type": "array",
"items": {
"type": "string"
}
},
"DockerBuild": {
"type": "object",
"properties": {
"Use": {
"type": "boolean"
},
"Dockerfile": {
"type": "string"
},
"Registry": {
"type": "string"
},
"Image": {
"type": "string"
},
"Tag": {
"type": "string"
},
"Latest": {
"type": "boolean"
}
},
"required": ["Use"],
"additionalProperties": false
}
},
"additionalProperties": false
},
"Artifact": {
"type": "object",
"properties": {
"Use": {
"type": "boolean"
},
"Path": {
"type": "array",
"items": {
"type": "string"
}
},
"Storage": {
"type": "object",
"properties": {
"Bucket": {
"type": "string"
},
"Path": {
"type": "string"
},
"FileName": {
"type": "string"
}
},
"required": ["Bucket", "Path", "FileName"],
"additionalProperties": false
},
"Backup": {
"type": "boolean"
}
},
"required": ["Use"],
"additionalProperties": false
},
"Cache": {
"type": "object",
"properties": {
"Use": {
"type": "boolean"
},
"Registry": {
"type": "string"
},
"Image": {
"type": "string"
},
"Tag": {
"type": "string"
},
"Latest": {
"type": "boolean"
}
},
"required": ["Use"],
"additionalProperties": false
},
"EnvVars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Key": {
"type": "string"
},
"Value": {
"type": "string"
}
},
"required": ["Key", "Value"],
"additionalProperties": false
}
}
},
"required": ["Resource"],
"additionalProperties": false
},
"DependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["Identifier", "Config"],
"additionalProperties": false
}
Deploy to Server with SourceDeploy
クリックして詳細スキーマを確認
{
"type": "object",
"properties": {
"Identifier": {
"type": "string",
"const": "ncp/sourcedeploy-server@v1.0.0"
},
"Config": {
"type": "object",
"properties": {
"Resource": {
"type": "object",
"properties": {
"ProjectName": {
"type": "string",
"minLength": 1
},
"StageName": {
"type": "string",
"minLength": 1
},
"ScenarioName": {
"type": "string",
"minLength": 1
}
},
"required": ["ProjectName", "StageName", "ScenarioName"],
"additionalProperties": false
},
"Cmd": {
"type": "object",
"properties": {
"Pre": {
"type": "array",
"items": {
"type": "object",
"properties": {
"User": {
"type": "string"
},
"Cmd": {
"type": "string"
}
},
"required": ["User", "Cmd"],
"additionalProperties": false
}
},
"Deploy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"SourcePath": {
"type": "string"
},
"DestPath": {
"type": "string"
}
},
"required": ["SourcePath", "DestPath"],
"additionalProperties": false
}
},
"Post": {
"type": "array",
"items": {
"type": "object",
"properties": {
"User": {
"type": "string"
},
"Cmd": {
"type": "string"
}
},
"required": ["User", "Cmd"],
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"File": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": ["SourceBuild", "ObjectStorage"]
},
"Bucket": {
"type": "string"
},
"Path": {
"type": "string"
},
"ProjectName": {
"type": "string"
}
},
"required": ["Type"],
"additionalProperties": false
},
"Rollback": {
"type": "boolean"
}
},
"required": ["Resource"],
"additionalProperties": false
},
"DependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["Identifier", "Config"],
"additionalProperties": false
}
Deploy to Auto Scaling Group with SourceDeploy
クリックして詳細スキーマを確認
{
"type": "object",
"properties": {
"Identifier": {
"type": "string",
"const": "ncp/sourcedeploy-asg@v1.0.0"
},
"Config": {
"type": "object",
"properties": {
"Resource": {
"type": "object",
"properties": {
"ProjectName": {
"type": "string",
"minLength": 1
},
"StageName": {
"type": "string",
"minLength": 1
},
"ScenarioName": {
"type": "string",
"minLength": 1
}
},
"required": ["ProjectName", "StageName", "ScenarioName"],
"additionalProperties": false
},
"Cmd": {
"type": "object",
"properties": {
"Pre": {
"type": "array",
"items": {
"type": "object",
"properties": {
"User": {
"type": "string"
},
"Cmd": {
"type": "string"
}
},
"required": ["User", "Cmd"],
"additionalProperties": false
}
},
"Deploy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"SourcePath": {
"type": "string"
},
"DestPath": {
"type": "string"
}
},
"required": ["SourcePath", "DestPath"],
"additionalProperties": false
}
},
"Post": {
"type": "array",
"items": {
"type": "object",
"properties": {
"User": {
"type": "string"
},
"Cmd": {
"type": "string"
}
},
"required": ["User", "Cmd"],
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"File": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": ["SourceBuild", "ObjectStorage"]
},
"Bucket": {
"type": "string"
},
"Path": {
"type": "string"
},
"ProjectName": {
"type": "string"
}
},
"required": ["Type"],
"additionalProperties": false
},
"Rollback": {
"type": "boolean"
}
},
"required": ["Resource"],
"additionalProperties": false
},
"DependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["Identifier", "Config"],
"additionalProperties": false
}
Deploy to ObjectStorage with SourceDeploy
クリックして詳細スキーマを確認
{
"type": "object",
"properties": {
"Identifier": {
"type": "string",
"const": "ncp/sourcedeploy-obs@v1.0.0"
},
"Config": {
"type": "object",
"properties": {
"Resource": {
"type": "object",
"properties": {
"ProjectName": {
"type": "string",
"minLength": 1
},
"StageName": {
"type": "string",
"minLength": 1
},
"ScenarioName": {
"type": "string",
"minLength": 1
}
},
"required": ["ProjectName", "StageName", "ScenarioName"],
"additionalProperties": false
},
"Cmd": {
"type": "object",
"properties": {
"Deploy": {
"type": "array",
"items": {
"type": "object",
"properties": {
"SourcePath": {
"type": "string"
},
"DestPath": {
"type": "string"
}
},
"required": ["SourcePath", "DestPath"],
"additionalProperties": false
}
}
},
"required": ["Deploy"],
"additionalProperties": false
},
"File": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": ["SourceBuild", "ObjectStorage"]
},
"Bucket": {
"type": "string"
},
"Path": {
"type": "string"
},
"ProjectName": {
"type": "string"
}
},
"required": ["Type"],
"additionalProperties": false
},
"Backup": {
"type": "boolean"
}
},
"required": ["Resource"],
"additionalProperties": false
},
"DependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["Identifier", "Config"],
"additionalProperties": false
}
Deploy to Kubernetes cluster with SourceDeploy
クリックして詳細スキーマを確認
{
"type": "object",
"properties": {
"Identifier": {
"type": "string",
"const": "ncp/sourcedeploy-nks@v1.0.0"
},
"Config": {
"type": "object",
"properties": {
"Resource": {
"type": "object",
"properties": {
"ProjectName": {
"type": "string",
"minLength": 1
},
"StageName": {
"type": "string",
"minLength": 1
},
"ScenarioName": {
"type": "string",
"minLength": 1
}
},
"required": ["ProjectName", "StageName", "ScenarioName"],
"additionalProperties": false
}
},
"required": ["Resource"],
"additionalProperties": false
},
"DependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["Identifier", "Config"],
"additionalProperties": false
}