프로젝트 생성

Prev Next

SourceBuild 프로젝트를 생성합니다.

요청

API URL

POST  {SOURCEBUILD_API_URL}/project

요청 Parameter

없음

요청 Query

없음

요청 Body

{
    "name": "string",
    "description": "string",
    "source": {
        "type": "string",
        "config": {
            "repository": "string", 
            "branch": "string"
        }
    },
    "env": {
        "compute": { "id": "number" },
        "platform": {
            "type": "string",
            "config": "TEnvSourceBuild" | "TEnvContainerRegistry" | "TEnvPublicRegistry"
        },
        "docker": {
           "use": "boolean",
           "id": "number"
        },
        "timeout": "number",
        "envVars": {
           "key": "string",
           "value": "string"
        }
    },
    "cmd": {
       "pre": ["string"],
       "build": ["string"],
       "post": ["string"],
       "dockerbuild": {
           "use": "boolean",
           "dockerfile": "string",
           "registry": "string",
           "image": "string",
           "tag": "string",
           "latest": "boolean"
       }
    },
    "artifact": {
        "use": "boolean",
        "path": ["string"],
        "storage": {
            "bucket": "string",
            "path": "string",
            "filename": "string"
        },
        "backup": "boolean",
    },
    "cache": {
        "use": "boolean",
        "registry": "string",
        "image": "string",
        "tag": "string",
        "latest": "boolean"
    },
    "linked": {
        "CloudLogAnalytics": "boolean",
        "FileSafer": "boolean",
    }
}
항목 타입 타입 Default 설명 비고
name Y string 프로젝트 이름
description N string "" 프로젝트 설명
source.type Y string 소스 저장소 타입 SourceCommit 만 가능
source.config.repository Y string 소스 저장소 리파지토리 이름 sourceCommitRepoisotryList API 로 조회
source.config.branch Y string 소스 저장소 리파지토리 브랜치 이름 sourceCommitBranchList API 로 조회
env.compute.id Y number 빌드 환경의 컴퓨팅 유형 id buildEnvComputeList API 로 조회
env.platform.type Y string 빌드 환경의 이미지 저장소 타입
  • SourceBuild: SourceBuild에서 관리되는 이미지
  • ContainerRegistry: Container Registry의 이미지
  • PublicRegistry: Public Registry의 이미지
  • env.platform.config Y TEnvSourceBuild | TEnvContainerRegistry | TEnvPublicRegistry 빌드 환경 설정
  • env.platform.type="SourceBuild" 일 경우 TEnvSourceBuild
  • env.platform.type="ContainerRegistry" 일 경우 TEnvContainerRegistry
  • env.platform.type="PublicRegistry" 일 경우 TEnvPublicRegistry
    아래 TEnvPlatformConfig 참조
  • env.docker.use Y boolean false 도커 빌드를 위한 빌드 환경에 도커 엔진 포함(사용) 여부
    env.docker.id N (env.docker.use=true 일 경우 필수) number 도커 엔진 버전 id buildEnvDockerList API 로 조회
    env.timeout N number 5 빌드 실행 타임 아웃
    env.envVars N {"key": string, "value": string}[] [] 빌드 환경 변수
    cmd.pre N string[] [] 빌드 전 명령어
    cmd.build N string[] [] 빌드 명령어
    cmd.post N string[] [] 빌드 후 명령어
    cmd.dockerbuild.use N boolean false 도커 이미지 빌드 설정 사용 여부
    cmd.dockerbuild.dockerfile N (cmd.dockerbuild.use=true 일 경우 필수) string dockerfile의 파일명을 포함한 경로 source.config.repository 에 지정된 소스 저장소에 dockerfile 이 포함되어 있어야 하며, 경로는 소스 저장소의 최상위 위치로 부터의 경로를 입력
    cmd.dockerbuild.registry N (cmd.dockerbuild.use=true 일 경우 필수) string 이미지를 저장할 Container Registry 의 레지스트리 이름
    cmd.dockerbuild.image N (cmd.dockerbuild.use=true 일 경우 필수) string 이미지 이름
    cmd.dockerbuild.tag N (cmd.dockerbuild.use=true 일 경우 필수) string 태그 이름
    cmd.dockerbuild.latest N boolean false latest 태그 저장 여부
    artifact.use N boolean false 빌드 결과물 저장 여부
    artifact.path N (artifact.use=true 일 경우 필수) string[] 빌드 결과물 위치 source.config.repository 에 지정된 소스 저장소의 최상위 위치로 부터의 경로를 입력
    파일 경로, 디렉토리 경로 모두 가능
    artifact.storage.bucket N (artifact.use=true 일 경우 필수) string 결과물을 저장할 Object Storage 의 버킷 이름
    artifact.storage.path N (artifact.use=true 일 경우 필수) string 결과물을 저장할 Object Storage 버킷 내 경로
    artifact.storage.filename N (artifact.use=true 일 경우 필수) 결과물을 저장할 파일 이름 zip 파일로 압축되어 저장됨
    확장자가 *.zip 이 아닐 경우 자동으로 .zip이 포함되어 저장됨
    artifact.storage.backup N boolean false 결과물 백업 여부
    cache.use N boolean false 빌드 완료 후 빌드 환경 저장 여부 빌드 완료 후 빌드 환경을 이미지화하여 저장 가능
    해당 이미지는 빌드 환경의 이미지로 설정하여 xxx 빌드로 사용 가능
    cache.registry N (cache.use=true 일 경우 필수) string 빌드 완료 후 빌드 환경의 이미지를 저장할 Container Registry 의 레지스트리 이름
    cache.image N (cache.use=true 일 경우 필수) string 이미지 이름
    cache.tag N (cache.use=true 일 경우 필수) string 태그 이름
    cache.latest N boolean false latest 태그 저장 여부
    linked.CloudLogAnalytics N boolean false 빌드 로그를 Cloud Log Analytics 에 저장 여부
    linked.FileSafer N boolean false 빌드 결과물을 File Safer (File Filter) 를 통한 검사 여부

    TEnvPlatformConfig

    TEnvSourceBuild

    {
        "os": {
            "id": "number"
        },
        "runtime": {
            "id": "number",
            "version": {
                "id": "number"
            }
        }
    }
    
    항목 필수여부 타입 설명 비고
    os.id Y number 운영체제 ID buildEnvOSListAPI 로 조회
    runtime.id Y number 런타임 ID buildEnvRunTimeList API 로 조회
    runtime.version.id Y number 런타임 버전 ID buildEnvRunTimeVersionList API 로 조회

    TEnvContainerRegistry

    {
        "registry": "string",
        "image": "string",
        "tag": "string"
    }
    
    항목 필수여부 타입 설명 비고
    registry Y string 레지스트리 이름
    image Y string 이미지 이름
    tag Y string 태그 이름

    TEnvPublicRegistry

    {
        "image": "string",
        "tag": "string"
    }
    
    항목 필수여부 타입 설명 비고
    image Y string 이미지 이름
    tag Y string 태그 이름

    응답

    응답 Body

    {
        "id": "number",
        "name": "string"
    }
    
    항목 타입 설명 비고
    id number 프로젝트 ID
    name string 프로젝트 이름