Workflow action list

Prev Next

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.
  • You must select a SourceBuild project to integrate.
  • If you don't enter a value or - 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.
  • To apply and run the 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.
  • You must select a SourceDeploy quickstart to integrate.
  • If you don't enter a value or - 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.
  • You must select a SourceDeploy quickstart to integrate.
  • If you don't enter a value or - 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.
  • If the deployment strategy of the integrated quickstart is 블루/그린, the 배포 실패 시 롤백 feature does not work.
  • Deploy to ObjectStorage with SourceDeploy v1.0.0 Deploy artifacts to Object Storage using a SourceDeploy quickstart.
  • You must select a SourceDeploy quickstart to integrate.
  • If you don't enter a value or - 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.
  • You must select a SourceDeploy quickstart to integrate.
  • Caution
    • Deploy to Kubernetes cluster with SourceDeploy action 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
    }