シナリオ詳細
    • PDF

    シナリオ詳細

    • PDF

    記事の要約

    概要

    SourceDeployプロジェクトのシナリオ詳細を照会します。

    リクエスト

    API URL

    GET 	{SOURCEDEPLOY_API_URL}/project/{projectId}/stage/{stageId}/scenario/{scenarioId}
    

    リクエスト Parameter

    項目タイプ説明備考
    projectIdstringプロジェクト IDprojectList APIで照会
    stageIdstringstage IDstageList APIで照会
    scenarioIdstringシナリオ IDscenarioList APIで照会

    リクエスト Query

    なし

    リクエスト Body

    なし

    レスポンス

    レスポンス Body

    {
        "project": {
            "id": "number",
            "name": "string"
        },
        "stage": {
            "id": "number",
            "name": "string"
        },
        "id": "number",
        "name": "string",
        "description": "string",
        "type": "string",
        "config": "TScenarioServer" | "TScenarioAutoScaling" | "TSecnarioKubernetesService" | "TSecnarioObjectStorage"
    }
    
    項目タイプ説明備考
    project.idnumberプロジェクト id
    project.namestringプロジェクト名
    stage.idnumberstage id
    stage.namestringstage名
    idnumberシナリオ id
    namestringシナリオ名
    descriptionstringシナリオの説明
    typestringリリース対象の type"Server" | "AutoScalingGroup" | "KubernetesService" |"ObjectStorage"
    ConfigTScenarioServer | TScenarioAutoScalingGroup | TSecnarioKubernetesServiceシナリオ設定type="Server"の場合、TScenarioServer
    type="AutoScalingGroup"の場合、TScenarioAutoScalingGroup
    type="KubernetesService"の場合、TSecnarioKubernetesService
    type="ObjectStorage"の場合、TSecnarioObjectStorage

    TScenarioServer

    {
      "strategy": "string",
      "sequence": "boolean",
      "file": {
        "type": "string",
        "ObjectStorage": {
          "bucket": "string",
          "object": "string"
        },
        "SourceBuild": {
          "id": "number",
          "name": "string"
        }
      },
      "rollback": "boolean",
      "cmd": {
        "pre": [
          {
            "user": "string",
            "cmd": "string"
          }
        ],
        "deploy": [
          {
            "sourcePath": "string",
            "deployPath": "string"
          }
        ],
        "post": [
          {
            "user": "string",
            "cmd": "string"
          }
        ]
      }
    }
    
    項目タイプ説明備考
    strategystringリリース戦略"normal"
    sequenceboolean順次リリースの有無
    file.typestringリリースファイルの type"ObjectStorage" | "SourceBuild" | "later"
    file.ObjectStorage.bucketstringObjectStorageバケット名file.type=ObjectStorage
    file.ObjectStorage.objectstringObjectStorage objectの位置file.type=ObjectStorage
    file.SourceBuild.idnumberSourceBuild idfile.type=SourceBuild
    file.SourceBuild.namestringSourceBuildのプロジェクト名file.type=SourceBuild
    rollbackbooleanリリース失敗時にロールバック
    cmd.pre.userstringリリース前に実行>実行アカウント
    cmd.pre.cmdstringリリース前に実行>実行コマンド
    cmd.deploy.sourcePathstringファイルリリース>ソースファイルパス
    cmd.deploy.deployPathstringファイルリリース>リリースパス
    cmd.post.userstringリリース後に実行>実行アカウント
    cmd.post.cmdstringリリース後に実行>実行コマンド

    TScenarioAutoScalingGroup

    {
      "strategy": "string",
      "sequence": "boolean",
      "file": {
        "type": "string",
        "ObjectStorage": {
          "bucket": "string",
          "object": "string"
        },
        "SourceBuild": {
          "id": "number",
          "name": "string"
        }
      },
      "rollback": "boolean",
      "cmd": {
        "pre": [
          {
            "user": "string",
            "cmd": "string"
          }
        ],
        "deploy": [
          {
            "sourcePath": "string",
            "deployPath": "string"
          }
        ],
        "post": [
          {
            "user": "string",
            "cmd": "string"
          }
        ]
      },
      "loadBalancer": {
        "loadBalancerTargetGroupNo": "number",
        "loadBalancerTargetGroupName": "string",
        "deleteAsg": "boolean",
        "deleteServer": "boolean"
      }
    }
    
    項目タイプ説明備考
    strategystringリリース戦略"normal" | "blueGreen"
    sequenceboolean順次リリースの有無
    file.typestringリリースファイルの type"ObjectStorage" | "SourceBuild" | "later"
    file.ObjectStorage.bucketstringObjectStorageバケット名file.type=ObjectStorage
    file.ObjectStorage.objectstringObjectStorage objectの位置file.type=ObjectStorage
    file.SourceBuild.idnumberSourceBuild idfile.type=SourceBuild
    file.SourceBuild.namestringSourceBuildのプロジェクト名file.type=SourceBuild
    rollbackbooleanリリース失敗時にロールバック
    cmd.pre.userstringリリース前に実行>実行アカウント
    cmd.pre.cmdstringリリース前に実行>実行コマンド
    cmd.deploy.sourcePathstringファイルリリース>ソースファイルパス
    cmd.deploy.deployPathstringファイルリリース>リリースパス
    cmd.post.userstringリリース後に実行>実行アカウント
    cmd.post.cmdstringリリース後に実行>実行コマンド
    loadBalancer.loadBalancerTargetGroupNonumberロードバランサの Target Group nostrategy=blueGreen
    loadBalancer.loadBalancerTargetGroupNamestringロードバランサの Target Group名strategy=blueGreen
    loadBalancer.deleteAsgboolean既存の Auto Scaling Groupの削除有無strategy=blueGreen
    loadBalancer.deleteServerboolean既存の Auto Scaling Group内のサーバ削除有無strategy=blueGreen

    TSecnarioKubernetesService

    {
      "manifest": {
        "type": "string",
        "url": "string",
        "serverUrl": "string",
        "owner": "string",
        "repository": "string",
        "branch": "string",
        "path": ["string"]
      },
      "strategy": "string",
      "canaryConfig": {
        "canaryCount": "number",
        "analysisType": "string",
        "timeout": "number",
        "prometheus": "string",
        "env": {
          "baseline": "string",
          "canary": "string"
        },
        "metrics": [
          {
            "name": "string",
            "successCriteria": "string",
            "queryType": "string",
            "weight": "number",
            "metric": "string",
            "filter": "string",
            "query": "string"
          }
        ],
        "analysisConfig": {
          "duration": "number",
          "delay": "number",
          "interval": "number",
          "step": "number"
        },
        "passScore": "number"
      }
    }
    
    項目タイプ説明備考
    strategystringリリース戦略"rolling" |"blueGreen" |"canary"
    manifest.typestringマニフェストファイルの保存場所"SourceCommit" | "Github Enterprise Server"
    manifest.urlstringリポジトリ URLmanifest.type=Github Enterprise Serverであり、SSH Keyでログインした場合
    manifest.serverUrlstringサーバ URLmanifest.type=Github Enterprise Serverであり、OAuth、Personal Access Token、Username/Passwordでログインした場合
    manifest.ownerstring所有者manifest.type=Github Enterprise Serverの場合
    manifest.repositorystringリポジトリ
    manifest.branchstringリポジトリブランチ
    manifest.pathstring[]ファイルの保存場所
    canaryConfig.analysisTypestringCanary解析方法strategy=canaryの場合、
    "manual" | "auto"
    canaryConfig.timeoutnumberリリース/キャンセルの最大時間strategy=canary & canaryConfig.analysisType=manualの場合
    canaryConfig.canaryCountnumberBaseline、Canary Podの数strategy=canary & (canaryConfig.analysisType=manual || canaryConfig.analysisType=auto)の場合
    canaryConfig.prometheusstringPrometheus Urlstrategy=canary & canaryConfig.analysisType=autoの場合
    canaryConfig.env.baselinestring解析環境変数 > baselinestrategy=canary & canaryConfig.analysisType=autoの場合
    canaryConfig.env.canarystring解析環境変数 > canarystrategy=canary & canaryConfig.analysisType=autoの場合
    canaryConfig.metrics.namestringメトリック名strategy=canary & canaryConfig.analysisType=autoの場合
    canaryConfig.metrics.successCriteriastring成功基準strategy=canary & canaryConfig.analysisType=autoの場合
    "base" | "canary"
    canaryConfig.metrics.queryTypestringクエリタイプstrategy=canary & canaryConfig.analysisType=autoの場合
    "default" | "promQL"
    canaryConfig.metrics.weightnumber重み付けstrategy=canary & canaryConfig.analysisType=auto
    canaryConfig.metrics.metricstringメトリックstrategy=canary & canaryConfig.analysisType=auto &canaryConfig.metrics.queryType="default"
    canaryConfig.metrics.filterstringFilterstrategy=canary & canaryConfig.analysisType=auto &canaryConfig.metrics.queryType="default"
    canaryConfig.metrics.querystringクエリstrategy=canary & canaryConfig.analysisType=auto & canaryConfig.metrics.queryType="promQL"
    canaryConfig.analysisConfig.durationnumber分析時間strategy=canary & canaryConfig.analysisType=auto
    canaryConfig.analysisConfig.delaynumber分析遅延時間strategy=canary & canaryConfig.analysisType=auto
    canaryConfig.analysisConfig.intervalnumber分析の周期strategy=canary & canaryConfig.analysisType=auto
    canaryConfig.analysisConfig.stepnumberMetricの収集周期strategy=canary & canaryConfig.analysisType=auto
    canaryConfig.passScorenumber解析成功スコアstrategy=canary & canaryConfig.analysisType=auto

    TSecnarioObjectStorage

    {
      "file": {
        "type": "string",
        "ObjectStorage": {
          "bucket": "string",
          "object": "string"
        },
        "SourceBuild": {
          "id": "number",
          "name": "string"
        }
      },
      "path": [
        {
          "sourcePath": "string",
          "deployPath": "string"
        }
      ]
    }
    
    項目タイプ説明備考
    file.typestringリリースファイルの type"ObjectStorage" | "SourceBuild" | "later"
    file.ObjectStorage.bucketstringObjectStorageバケット名file.type=ObjectStorage
    file.ObjectStorage.objectstringObjectStorage objectの位置file.type=ObjectStorage
    file.SourceBuild.idnumberSourceBuild idfile.type=SourceBuild
    file.SourceBuild.namestringSourceBuildのプロジェクト名file.type=SourceBuild
    path.sourcePathstringソースファイルのパス
    path.deployPathstringリリースパス

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.