Classic/VPC 환경에서 이용 가능합니다.
배포 프로젝트를 생성합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
메서드 | 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 | 컴퓨팅 유형 아이디
|
env.platform |
Object | Required | 빌드 환경 플랫폼 정보 |
env.platform.type |
String | Required | 이미지 저장소 타입
|
env.platform.config |
Object | Required | 빌드 환경 설정 |
env.platform.config.os |
Object | Conditional | 운영 체제 정보
|
env.platform.config.os.id |
Number | Conditional | 운영 체제 아이디
|
env.platform.config.runtime |
Object | Conditional | 런타임 정보
|
env.platform.config.runtime.id |
Number | Conditional | 런타임 유형 아이디
|
env.platform.config.runtime.version |
Object | Conditional | 런타임 버전 정보 |
env.platform.config.runtime.version.id |
Number | Conditional | 런타임 버전 아이디
|
env.platform.config.registry |
Object | Conditional | 레지스트리 정보
|
env.platform.config.image |
String | Conditional | 이미지 이름
|
env.platform.config.tag |
String | Conditional | 이미지 태그 이름
|
env.docker |
Object | Optional | 도커 엔진 정보 |
env.docker.use |
Boolean | Optional | 도커 빌드를 위한 도커 엔진 포함 여부
|
env.docker.id |
Number | Conditional | 도커 엔진 버전 아이디
|
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 | 도커 이미지 빌드 정보
|
cmd.dockerbuild.use |
Boolean | Optional | 도커 이미지 빌드 설정 사용 여부
|
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.gov-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 | - | 프로젝트 아이디 |
result.name |
String | - | 프로젝트 이름 |
응답 상태 코드
SourceBuild API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 SourceBuild 응답 상태 코드를 참조해 주십시오.
응답 예시
응답 예시는 다음과 같습니다.
{
"result": {
"id": 20***,
"name": "Build001"
}
}