MENU
      프로젝트 생성

        프로젝트 생성


        기사 요약

        개요

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

        요청

        API URL

        POST  {SOURCEBUILD_API_URL}/project
        Plain text

        요청 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",
            }
        }
        JSON
        항목필수여부타입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.useNbooleanfalse도커 빌드를 위한 빌드 환경에 도커 엔진 포함(사용) 여부
        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.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"
                }
            }
        }
        Plain text
        항목필수여부타입설명비고
        os.idYnumber운영체제 IDbuildEnvOSListAPI 로 조회
        runtime.idYnumber런타임 IDbuildEnvRunTimeList API 로 조회
        runtime.version.idYnumber런타임 버전 IDbuildEnvRunTimeVersionList API 로 조회

        TEnvContainerRegistry

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

        TEnvPublicRegistry

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

        응답

        응답 Body

        {
            "id": "number",
            "name": "string"
        }
        JSON
        항목타입설명비고
        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.