워크플로 액션 목록

Prev Next

VPC 환경에서 이용 가능합니다.

각 워크플로는 다양한 액션을 기반으로 구성되며, 이를 통해 반복 작업을 자동화하고 개발 생산성을 높일 수 있습니다.

워크플로 액션 목록은 SourceBand 워크플로에서 제공하는 액션들에 대해 설명합니다.

액션 목록

워크플로에서 사용 가능한 액션 목록은 다음과 같습니다.

이름 버전 설명 비고
Build with SourceBuild v1.0.0 SourceBuild 프로젝트를 사용하여 코드를 빌드합니다.
  • 연동할 SourceBuild 프로젝트를 필수로 선택해야 합니다.
  • 사용자가 입력하지 않거나 -이 선택된 액션 설정은 연동하는 SourceBuild 프로젝트의 설정이 적용됩니다.
    예: Config.Cmd (빌드 명령어) 하위 설정에 입력이 없고 -이 선택된 경우, 액션 실행 시 연동하는 SourceBuild 프로젝트의 빌드 명령어 설정이 적용됩니다.
  • Config.Cmd.DockerBuild(도커 이미지 빌드) 설정은 연동하는 SourceBuild 프로젝트 설정에서 도커 이미지 빌드 사용이 체크되어야 정상 적용 및 실행됩니다.
  • Deploy to Server with SourceDeploy v1.0.0 SourceDeploy 시나리오를 사용하여 Server에 애플리케이션을 배포합니다.
  • 연동할 SourceDeploy 시나리오를 필수로 선택해야 합니다.
  • 사용자가 입력하지 않거나 -이 선택된 액션 설정은 연동하는 SourceDeploy 시나리오의 설정이 적용됩니다.
    예: Config.File (배포 파일) 설정에 -이 선택된 경우, 액션 실행 시 연동하는 SourceDeploy 시나리오의 배포 파일 설정이 적용됩니다.
  • Deploy to Auto Scaling Group with SourceDeploy v1.0.0 SourceDeploy 시나리오를 사용하여 Auto Scaling Group에 애플리케이션을 배포합니다.
  • 연동할 SourceDeploy 시나리오를 필수로 선택해야 합니다.
  • 사용자가 입력하지 않거나 -이 선택된 액션 설정은 연동하는 SourceDeploy 시나리오의 설정이 적용됩니다.
    예: Config.File (배포 파일) 설정에 -이 선택된 경우, 액션 실행 시 연동하는 SourceDeploy 시나리오의 배포 파일 설정이 적용됩니다.
  • 연동하는 시나리오의 배포 전략이 블루/그린일 경우, 배포 실패 시 롤백 기능이 동작하지 않습니다.
  • Deploy to ObjectStorage with SourceDeploy v1.0.0 SourceDeploy 시나리오를 사용하여 ObjectStorage에 아티팩트를 배포합니다.
  • 연동할 SourceDeploy 시나리오를 필수로 선택해야 합니다.
  • 사용자가 입력하지 않거나 -이 선택된 액션 설정은 연동하는 SourceDeploy 시나리오의 설정이 적용됩니다.
    예: Config.Cmd.Deploy (배포 경로) 설정에 입력이 없는 경우, 액션 실행 시 연동하는 SourceDeploy 시나리오의 배포 경로 설정이 적용됩니다.
  • Deploy to Kubernetes cluster with SourceDeploy v1.0.0 SourceDeploy 시나리오를 사용하여 Ncloud Kubernetes Service 클러스터에 애플리케이션을 배포합니다.
  • 연동할 SourceDeploy 시나리오를 필수로 선택해야 합니다.
  • 주의
    • 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
    }