Classic/VPC環境で利用できます。
デプロイプロジェクトを作成します。
参考
プロジェクトの作成時、File Saferまたは Cloud Log Analytics サービスと連携するには、次の作業を事前に行ってください。
- Cloud Log Analytics
- ご利用の申し込み: Cloud Log Analyticsご利用ガイドを参照
- File Safer
- ご利用の申し込み: File Saferご利用ガイドを参照
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
POST | /api/v1/project |
リクエストヘッダ
SourceBuild APIで共通して使用されるヘッダの詳細は、SourceBuildのリクエストヘッダをご参照ください。
リクエストボディ
リクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
name |
String | Required | プロジェクト名
|
description |
String | Optional | プロジェクトの説明 |
source |
Object | Required | ソース保存場所情報 |
source.type |
String | Required | ソース保存場所のタイプ
|
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 | イメージ保存場所のタイプ
|
env.platform.config |
Object | Required | ビルド環境の設定 |
env.platform.config.os |
Object | Conditional | OS情報
|
env.platform.config.os.id |
Number | Conditional | OSの ID
|
env.platform.config.runtime |
Object | Conditional | ランタイム情報
|
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.config.tag |
String | Conditional | イメージタグ名
|
env.docker |
Object | Optional | Dockerエンジン情報 |
env.docker.use |
Boolean | Optional | Dockerビルドに Dockerエンジンを含めるかどうか
|
env.docker.id |
Number | Conditional | Dockerエンジンバージョン ID
|
env.timeout |
Number | Optional | ビルド実行タイムアウト(分)
|
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.use |
Boolean | Optional | Dockerイメージビルド設定を使用するか
|
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タグ設定
|
artifact |
Object | Conditional | ビルド結果の保存情報
|
artifact.use |
Boolean | Optional | ビルド結果を保存するか
|
artifact.path |
Array | Conditional | ビルド結果のパス
|
artifact.storage.bucket |
String | Conditional | 結果の保存先 Object Storageバケットの名前
|
artifact.storage.path |
String | Conditional | 結果の保存先 Object Storageバケットのパス
|
artifact.storage.filename |
String | Conditional | 結果を保存するファイルの名前
|
artifact.backup |
Boolean | Optional | 結果のバックアップ
|
cache |
Object | Optional | ビルド完了後のイメージ保存情報
|
cache.use |
Boolean | Optional | ビルド完了後にイメージを保存するか
|
cache.registry |
String | Conditional | Container Registry名
|
cache.image |
String | Conditional | イメージ名
|
cache.tag |
String | Conditional | イメージタグ名
|
cache.latest |
Boolean | Optional | latestタグ設定
|
linked |
Object | Optional | 連携サービス情報 |
linked.CloudLogAnalytics |
Boolean | Optional | Cloud Log Analytics連携
|
linked.FileSafer |
Boolean | Optional | File Safer連携
|
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"
}
}