プロジェクトの作成

Prev Next

Classic/VPC環境で利用できます。

デプロイプロジェクトを作成します。

参考

プロジェクトの作成時、File Saferまたは Cloud Log Analytics サービスと連携するには、次の作業を事前に行ってください。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v1/project

リクエストヘッダ

SourceBuild APIで共通して使用されるヘッダの詳細は、SourceBuildのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
name String Required プロジェクト名
  • 英数字、記号の「_」、「-」を組み合わせて1~80文字以内で入力
  • 既に作成済みのビルドプロジェクトと同じ名前は入力不可
description String Optional プロジェクトの説明
source Object Required ソース保存場所情報
source.type String Required ソース保存場所のタイプ
  • SourceCommit (有効値)
source.config Object Required ソース保存場所のリポジトリ情報
source.config.repository String Required ソース保存場所リポジトリ名
source.config.branch String Required ソース保存場所リポジトリブランチ名
env Object Required ビルド環境情報
env.compute Object Required ビルド環境のコンピューティングタイプ情報
env.compute.id Number Required コンピューティングタイプ ID
env.platform Object Required ビルド環境プラットフォーム情報
env.platform.type String Required イメージ保存場所のタイプ
  • SourceBuild | ContainerRegistry | PublicRegistry
    • SourceBuild: SourceBuildで管理されるイメージ
    • ContainerRegistry: Container Registryのイメージ
    • PublicRegistry: Public Registryのイメージ
env.platform.config Object Required ビルド環境の設定
env.platform.config.os Object Conditional OS情報
  • env.platform.typeSourceBuildの場合、下位情報を含めて必ず入力
env.platform.config.os.id Number Conditional OSの ID
env.platform.config.runtime Object Conditional ランタイム情報
  • env.platform.typeSourceBuildの場合、下位情報を含めて必ず入力
env.platform.config.runtime.id Number Conditional ランタイムタイプ ID
env.platform.config.runtime.version Object Conditional ランタイムバージョン情報
env.platform.config.runtime.version.id Number Conditional ランタイムバージョン ID
env.platform.config.registry Object Conditional レジストリ情報
env.platform.config.image String Conditional イメージ名
  • env.platform.typeContainerRegistryまたはPublicRegistryの場合、必ず入力
env.platform.config.tag String Conditional イメージタグ名
  • env.platform.typeContainerRegistryまたはPublicRegistryの場合、必ず入力
env.docker Object Optional Dockerエンジン情報
env.docker.use Boolean Optional Dockerビルドに Dockerエンジンを含めるかどうか
  • true | false (デフォルト)
    • true: 含める
    • false: 含めない
env.docker.id Number Conditional Dockerエンジンバージョン ID
env.timeout Number Optional ビルド実行タイムアウト(分)
  • 5~540 (デフォルト: 5)
env.envVars Array Optional ビルド環境変数情報
cmd Object Optional ビルドコマンド情報
cmd.pre Array Optional ビルド前のコマンド
cmd.build Array Optional ビルドコマンド
cmd.post Array Optional ビルド後のコマンド
cmd.dockerbuild Object Conditional Dockerイメージのビルド情報
  • cmd.dockerbuild.usetrueの場合、下位情報を含めて必ず入力
    • ただし、cmd.dockerbuild.latestは任意入力
cmd.dockerbuild.use Boolean Optional Dockerイメージビルド設定を使用するか
  • true | false (デフォルト)
    • true: 使用
      • env.docker.usetrueの場合にのみ使用可能
    • false: 使用しない
cmd.dockerbuild.dockerfile String Conditional dockerfileのパス
cmd.dockerbuild.registry String Conditional Container Registry名
cmd.dockerbuild.image String Conditional イメージ名
cmd.dockerbuild.tag String Conditional イメージタグ名
cmd.dockerbuild.latest Boolean Optional latestタグ設定
  • true | false (デフォルト)
    • true: 設定
    • false: 設定しない
artifact Object Conditional ビルド結果の保存情報
  • artifact.usetrueの場合、下位情報を含めて必ず入力
artifact.use Boolean Optional ビルド結果を保存するか
  • true | false (デフォルト)
    • true: 保存
    • false: 保存しない
  • ビルド結果は圧縮ファイル(*.zip)で保存
artifact.path Array Conditional ビルド結果のパス
  • artifact.usetrueの場合、必ず入力
artifact.storage.bucket String Conditional 結果の保存先 Object Storageバケットの名前
  • artifact.usetrueの場合、必ず入力
artifact.storage.path String Conditional 結果の保存先 Object Storageバケットのパス
  • artifact.usetrueの場合、必ず入力
artifact.storage.filename String Conditional 結果を保存するファイルの名前
  • artifact.usetrueの場合、必ず入力
artifact.backup Boolean Optional 結果のバックアップ
  • true | false (デフォルト)
    • true: バックアップ
    • false: バックアップしない
cache Object Optional ビルド完了後のイメージ保存情報
  • cache.usetrueの場合、下位情報を含めて必ず入力
    • ただし、cache.latestは任意入力
cache.use Boolean Optional ビルド完了後にイメージを保存するか
  • true | false (デフォルト)
    • true: 保存
    • false: 保存しない
cache.registry String Conditional Container Registry名
  • cache.usetrueの場合、必ず入力
cache.image String Conditional イメージ名
  • cache.usetrueの場合、必ず入力
cache.tag String Conditional イメージタグ名
  • cache.usetrueの場合、必ず入力
cache.latest Boolean Optional latestタグ設定
  • true | false (デフォルト)
    • true: 設定
    • false: 設定しない
linked Object Optional 連携サービス情報
linked.CloudLogAnalytics Boolean Optional Cloud Log Analytics連携
  • true | false (デフォルト)
    • true: 連携
    • false: 連携しない
linked.FileSafer Boolean Optional File Safer連携
  • true | false (デフォルト)
    • true: 連携
    • false: 連携しない

envVars

envVarsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
env.envVars.key String Optional 環境変数キー
env.envVars.value String Optional 環境変数の値

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://sourcebuild.apigw.ntruss.com/api/v1/project' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
    "name": "Build001",
    "description": "Build001",
    "source": {
        "type": "SourceCommit",
        "config": {
            "repository": "repository001", 
            "branch": "master"
        }
    },
    "env": {
        "compute": {
            "id": 1
            },
        "platform": {
            "type": "SourceBuild",
            "config": {
                "os": {
                    "id": 1
                    },
                "runtime": {
                    "id": 5,
                    "version": {
                        "id": 27
                    }
                }    
            }
        },
        "docker": {
           "use": true,
           "id": 1
        },
        "timeout": 60,
        "envVars": [
            {
                "key": "env1",
                "value": "value1"
            }
        ]
    },
    "cmd": {
       "pre": [],
       "build": [],
       "post": [],
       "dockerbuild": {
           "use": false,
           "dockerfile": "",
           "registry": "",
           "image": "",
           "tag": "",
           "latest": false
       }
    },
    "artifact": {
        "use": false,
        "path": [],
        "storage": {
            "bucket": "string",
            "path": "string",
            "filename": "string"
        },
        "backup": false
    },
    "cache": {
        "use": false,
        "registry": "",
        "image": "",
        "tag": "",
        "latest": false
    },
    "linked": {
        "CloudLogAnalytics": false,
        "FileSafer": false
    }
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
result Object - レスポンス結果
result.id Number - プロジェクト ID
result.name String - プロジェクト名

レスポンスステータスコード

SourceBuild APIで共通して使用されるレスポンスステータスコードの詳細は、SourceBuildのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "result": {
        "id": 20***,
        "name": "Build001"
    }
}