프로젝트 생성
    • PDF

    프로젝트 생성

    • PDF

    기사 요약

    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설명비고
    nameYstring프로젝트 이름
    descriptionNstring""프로젝트 설명
    source.typeYstring소스 저장소 타입SourceCommit 만 가능
    source.config.repositoryYstring소스 저장소 리파지토리 이름sourceCommitRepoisotryList API 로 조회
    source.config.branchYstring소스 저장소 리파지토리 브랜치 이름sourceCommitBranchList API 로 조회
    env.compute.idYnumber빌드 환경의 컴퓨팅 유형 idbuildEnvComputeList API 로 조회
    env.platform.typeYstring빌드 환경의 이미지 저장소 타입
  • SourceBuild: SourceBuild에서 관리되는 이미지
  • ContainerRegistry: Container Registry의 이미지
  • PublicRegistry: Public Registry의 이미지
  • env.platform.configYTEnvSourceBuild | TEnvContainerRegistry | TEnvPublicRegistry빌드 환경 설정
  • env.platform.type="SourceBuild" 일 경우 TEnvSourceBuild
  • env.platform.type="ContainerRegistry" 일 경우 TEnvContainerRegistry
  • env.platform.type="PublicRegistry" 일 경우 TEnvPublicRegistry
    아래 TEnvPlatformConfig 참조
  • env.docker.useYbooleanfalse도커 빌드를 위한 빌드 환경에 도커 엔진 포함(사용) 여부
    env.docker.idN (env.docker.use=true 일 경우 필수)number도커 엔진 버전 idbuildEnvDockerList API 로 조회
    env.timeoutNnumber5빌드 실행 타임 아웃
    env.envVarsN{"key": string, "value": string}[][]빌드 환경 변수
    cmd.preNstring[][]빌드 전 명령어
    cmd.buildNstring[][]빌드 명령어
    cmd.postNstring[][]빌드 후 명령어
    cmd.dockerbuild.useNbooleanfalse도커 이미지 빌드 설정 사용 여부
    cmd.dockerbuild.dockerfileN (cmd.dockerbuild.use=true 일 경우 필수)stringdockerfile의 파일명을 포함한 경로source.config.repository 에 지정된 소스 저장소에 dockerfile 이 포함되어 있어야 하며, 경로는 소스 저장소의 최상위 위치로 부터의 경로를 입력
    cmd.dockerbuild.registryN (cmd.dockerbuild.use=true 일 경우 필수)string이미지를 저장할 Container Registry 의 레지스트리 이름
    cmd.dockerbuild.imageN (cmd.dockerbuild.use=true 일 경우 필수)string이미지 이름
    cmd.dockerbuild.tagN (cmd.dockerbuild.use=true 일 경우 필수)string태그 이름
    cmd.dockerbuild.latestNbooleanfalselatest 태그 저장 여부
    artifact.useNbooleanfalse빌드 결과물 저장 여부
    artifact.pathN (artifact.use=true 일 경우 필수)string[]빌드 결과물 위치source.config.repository 에 지정된 소스 저장소의 최상위 위치로 부터의 경로를 입력
    파일 경로, 디렉토리 경로 모두 가능
    artifact.storage.bucketN (artifact.use=true 일 경우 필수)string결과물을 저장할 Object Storage 의 버킷 이름
    artifact.storage.pathN (artifact.use=true 일 경우 필수)string결과물을 저장할 Object Storage 버킷 내 경로
    artifact.storage.filenameN (artifact.use=true 일 경우 필수)결과물을 저장할 파일 이름zip 파일로 압축되어 저장됨
    확장자가 *.zip 이 아닐 경우 자동으로 .zip이 포함되어 저장됨
    artifact.storage.backupNbooleanfalse결과물 백업 여부
    cache.useNbooleanfalse빌드 완료 후 빌드 환경 저장 여부빌드 완료 후 빌드 환경을 이미지화하여 저장 가능
    해당 이미지는 빌드 환경의 이미지로 설정하여 xxx 빌드로 사용 가능
    cache.registryN (cache.use=true 일 경우 필수)string빌드 완료 후 빌드 환경의 이미지를 저장할 Container Registry 의 레지스트리 이름
    cache.imageN (cache.use=true 일 경우 필수)string이미지 이름
    cache.tagN (cache.use=true 일 경우 필수)string태그 이름
    cache.latestNbooleanfalselatest 태그 저장 여부
    linked.CloudLogAnalyticsNbooleanfalse빌드 로그를 Cloud Log Analytics 에 저장 여부
    linked.FileSaferNbooleanfalse빌드 결과물을 File Safer (File Filter) 를 통한 검사 여부

    TEnvPlatformConfig

    TEnvSourceBuild

    {
        "os": {
            "id": "number"
        },
        "runtime": {
            "id": "number",
            "version": {
                "id": "number"
            }
        }
    }
    
    항목필수여부타입설명비고
    os.idYnumber운영체제 IDbuildEnvOSListAPI 로 조회
    runtime.idYnumber런타임 IDbuildEnvRunTimeList API 로 조회
    runtime.version.idYnumber런타임 버전 IDbuildEnvRunTimeVersionList API 로 조회

    TEnvContainerRegistry

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

    TEnvPublicRegistry

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

    응답

    응답 Body

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

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.