Available in VPC
Each workflow is built using a variety of actions, helping automate repetitive tasks and improve development productivity.
The workflow action list describes the actions available in SourceBand workflows.
Action list
The following is a list of actions available for use in a workflow:
| Name | Version | Description | Note |
|---|---|---|---|
| Build with SourceBuild | v1.0.0 | Build code using a SourceBuild project. | - is selected in the action settings, the configuration from the integrated SourceBuild project is applied. Example: if no value is entered under Config.Cmd (build command) and - option is selected, the build command configured in the integrated SourceBuild project is used during action execution. Config.Cmd.DockerBuild (docker image build) setting correctly, the 도커 이미지 빌드 must be enabled in the integrated SourceBuild project settings. |
| Deploy to Server with SourceDeploy | v1.0.0 | Deploy the application to Server using a SourceDeploy quickstart. | - is selected in the action settings, the configuration from the integrated SourceDeploy quickstart is applied. Example: if Config.File (deployment file) and - option is selected, the deployment file settings from the integrated SourceDeploy quickstart is used during action execution. |
| Deploy to Auto Scaling Group with SourceDeploy | v1.0.0 | Deploy the application to an Auto Scaling Group using a SourceDeploy quickstart. | - is selected in the action settings, the configuration from the integrated SourceDeploy quickstart is applied. Example: if Config.File (deployment file) and - option is selected, the deployment file settings from the integrated SourceDeploy quickstart is used during action execution. 블루/그린, the 배포 실패 시 롤백 feature does not work. |
| Deploy to ObjectStorage with SourceDeploy | v1.0.0 | Deploy artifacts to Object Storage using a SourceDeploy quickstart. | - is selected in the action settings, the configuration from the integrated SourceDeploy quickstart is applied. Example: if no value is entered under Config.Cmd.Deploy (deployment path), the deployment path from the integrated SourceDeploy quickstart is used during action execution. |
| Deploy to Kubernetes cluster with SourceDeploy | v1.0.0 | Deploy the application to an Ncloud Kubernetes Service cluster using a SourceDeploy quickstart. |
Caution
Deploy to Kubernetes cluster with SourceDeployaction cannot be canceled while it is running.
For the YAML input schema of each action, see Action schema.
Action schema
This section describes the YAML input fields and structure for each action using JSON Schema format.
Build with SourceBuild
Click to view detailed schema
{
"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
Click to view detailed schema
{
"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
Click to view detailed schema
{
"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
Click to view detailed schema
{
"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
Click to view detailed schema
{
"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
}