ワークフローアクションリスト

Prev Next

VPC環境で利用できます。

各ワークフローは様々なアクションに基づいて構成され、これにより繰り返しタスクを自動化して開発生産性を向上させることができます。

ワークフローのアクションリストは、SourceBandワークフローで提供するアクションについて説明します。

アクションリスト

ワークフローで使用可能なアクションリストは次の通りです。

名前 バージョン 説明 備考
Build with SourceBuild v1.0.0 SourceBuildプロジェクトを使用してコードをビルドします。
  • 連携する SourceBuildプロジェクトを必須選択する必要があります。
  • ユーザーが入力しないか -を選択したアクション設定に連携する SourceBuildプロジェクトの設定が適用されます。
    例: Config.Cmd (ビルドコマンド)下位設定に入力せず -を選択した場合、アクション実行時に連携する SourceBuildプロジェクトのビルドコマンド設定が適用されます。
  • Config.Cmd.DockerBuild(Dockerイメージビルド)設定は連携する 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
    }