프로젝트 생성

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

배포 프로젝트를 생성합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 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 컴퓨팅 유형 아이디
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 운영 체제 정보
  • env.platform.typeSourceBuild인 경우, 하위 정보 포함하여 필수 입력
env.platform.config.os.id Number Conditional 운영 체제 아이디
env.platform.config.runtime Object Conditional 런타임 정보
  • env.platform.typeSourceBuild인 경우, 하위 정보 포함하여 필수 입력
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.typeContainerRegistry 또는 PublicRegistry인 경우, 필수 입력
env.platform.config.tag String Conditional 이미지 태그 이름
  • env.platform.typeContainerRegistry 또는 PublicRegistry인 경우, 필수 입력
env.docker Object Optional 도커 엔진 정보
env.docker.use Boolean Optional 도커 빌드를 위한 도커 엔진 포함 여부
  • true | false (기본값)
    • true: 포함
    • false: 포함 안 함
env.docker.id Number Conditional 도커 엔진 버전 아이디
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 도커 이미지 빌드 정보
  • cmd.dockerbuild.usetrue인 경우, 하위 정보 포함하여 필수 입력
    • 단, cmd.dockerbuild.latest는 선택 입력
cmd.dockerbuild.use Boolean Optional 도커 이미지 빌드 설정 사용 여부
  • 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.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"
    }
}