VPC 환경에서 이용 가능합니다.
각 워크플로는 다양한 액션을 기반으로 구성되며, 이를 통해 반복 작업을 자동화하고 개발 생산성을 높일 수 있습니다.
워크플로 액션 목록은 SourceBand 워크플로에서 제공하는 액션들에 대해 설명합니다.
액션 목록
워크플로에서 사용 가능한 액션 목록은 다음과 같습니다.
| 이름 | 버전 | 설명 | 비고 |
|---|---|---|---|
| Build with SourceBuild | v1.0.0 | SourceBuild 프로젝트를 사용하여 코드를 빌드합니다. | -이 선택된 액션 설정은 연동하는 SourceBuild 프로젝트의 설정이 적용됩니다. 예: Config.Cmd (빌드 명령어) 하위 설정에 입력이 없고 -이 선택된 경우, 액션 실행 시 연동하는 SourceBuild 프로젝트의 빌드 명령어 설정이 적용됩니다. Config.Cmd.DockerBuild(도커 이미지 빌드) 설정은 연동하는 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
}