--- title: "프로젝트 생성" slug: "devtools-sourcebuild-projectcreate" tags: ["SourceBuild"] updated: 2026-09-17T09:16:26Z published: 2026-09-17T09:16:26Z canonical: "api.ncloud-docs.com/devtools-sourcebuild-projectcreate" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 프로젝트 생성 Classic/VPC 환경에서 이용 가능합니다. 배포 프로젝트를 생성합니다. 참고 프로젝트 생성 시 File Safer 또는 Cloud Log Analytics 서비스와 연동하려면 다음 작업을 선행해 주십시오. - Cloud Log Analytics - 서비스 이용 신청: [Cloud Log Analytics 사용 가이드](https://guide.ncloud-docs.com/docs/cla-overview) 참조 - File Safer - 서비스 이용 신청: [File Safer 사용 가이드](https://guide.ncloud-docs.com/docs/filesafer-overview) 참조 ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /api/v1/project | ### 요청 헤더 SourceBuild API에서 공통으로 사용하는 헤더에 대한 정보는 [SourceBuild 요청 헤더](/docs/devtools-sourcebuild#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `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 | 소스 저장소 리포지토리 이름 - [SourceCommit 리포지토리 목록 조회](/docs/devtools-sourcebuild-sourcecommitrepolist) 참조 | | `source.config.branch` | String | Required | 소스 저장소 리포지토리 브랜치 이름 - [SourceCommit 브랜치 목록 조회](/docs/devtools-sourcebuild-sourcecommitbranchlist) 참조 | | `env` | Object | Required | 빌드 환경 정보 | | `env.compute` | Object | Required | 빌드 환경 컴퓨팅 유형 정보 | | `env.compute.id` | Number | Required | 컴퓨팅 유형 아이디 - [컴퓨팅 유형 목록 조회](/docs/devtools-sourcebuild-buildenvcomputelist) 참조 | | `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.type`이 `SourceBuild`인 경우, 하위 정보 포함하여 필수 입력 | | `env.platform.config.os.id` | Number | Conditional | 운영 체제 아이디 - [운영 체제 목록 조회](/docs/devtools-sourcebuild-buildenvoslist) 참조 | | `env.platform.config.runtime` | Object | Conditional | 런타임 정보 - `env.platform.type`이 `SourceBuild`인 경우, 하위 정보 포함하여 필수 입력 | | `env.platform.config.runtime.id` | Number | Conditional | 런타임 유형 아이디 - [런타임 유형 목록 조회](/docs/devtools-sourcebuild-buildenvruntimelist) 참조 | | `env.platform.config.runtime.version` | Object | Conditional | 런타임 버전 정보 | | `env.platform.config.runtime.version.id` | Number | Conditional | 런타임 버전 아이디 - [런타임 버전 목록 조회](/docs/devtools-sourcebuild-buildenvruntimeversionlist) 참조 | | `env.platform.config.registry` | Object | Conditional | 레지스트리 정보 - `env.platform.type`이 `ContainerRegistry`인 경우, 필수 입력 - [Container Registry 목록 조회](/docs/devtools-sourcebuild-containerregistrylist) 참조 | | `env.platform.config.image` | String | Conditional | 이미지 이름 - `env.platform.type`이 `ContainerRegistry` 또는 `PublicRegistry`인 경우, 필수 입력 | | `env.platform.config.tag` | String | Conditional | 이미지 태그 이름 - `env.platform.type`이 `ContainerRegistry` 또는 `PublicRegistry`인 경우, 필수 입력 | | `env.docker` | Object | Optional | 도커 엔진 정보 | | `env.docker.use` | Boolean | Optional | 도커 빌드를 위한 도커 엔진 포함 여부 - `true` \| `false` (기본값) - `true`: 포함 - `false`: 포함 안 함 | | `env.docker.id` | Number | Conditional | 도커 엔진 버전 아이디 - [도커 엔진 목록 조회](/docs/devtools-sourcebuild-buildenvdockerlist) 참조 - `env.docker.use`가 `true`인 경우, 필수 입력 | | `env.timeout` | Number | Optional | 빌드 실행 타임아웃(분) - 5~540 (기본값: 5) | | `env.envVars` | Array | Optional | 빌드 환경 변수 정보: [envVars](/docs/devtools-sourcebuild-projectcreate#envVars) | | `cmd` | Object | Optional | 빌드 명령어 정보 | | `cmd.pre` | Array | Optional | 빌드 전 명령어 | | `cmd.build` | Array | Optional | 빌드 명령어 | | `cmd.post` | Array | Optional | 빌드 후 명령어 | | `cmd.dockerbuild` | Object | Conditional | 도커 이미지 빌드 정보 - `cmd.dockerbuild.use`가 `true`인 경우, 하위 정보 포함하여 필수 입력 - 단, `cmd.dockerbuild.latest`는 선택 입력 | | `cmd.dockerbuild.use` | Boolean | Optional | 도커 이미지 빌드 설정 사용 여부 - `true` \| `false` (기본값) - `true`: 사용 - `env.docker.use`가 `true`인 경우에만 사용 가능 - `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.use`가 `true`인 경우, 하위 정보 포함하여 필수 입력 | | `artifact.use` | Boolean | Optional | 빌드 결과물 저장 여부 - `true` \| `false` (기본값) - `true`: 저장 - `false`: 저장 안 함 - 빌드 결과물은 압축 파일(*.zip)로 저장 | | `artifact.path` | Array | Conditional | 빌드 결과물 경로 - `artifact.use`가 `true`인 경우, 필수 입력 | | `artifact.storage.bucket` | String | Conditional | 결과물을 저장할 Object Storage 버킷 이름 - `artifact.use`가 `true`인 경우, 필수 입력 | | `artifact.storage.path` | String | Conditional | 결과물을 저장할 Object Storage 버킷 내 경로 - `artifact.use`가 `true`인 경우, 필수 입력 | | `artifact.storage.filename` | String | Conditional | 결과물을 저장할 파일 이름 - `artifact.use`가 `true`인 경우, 필수 입력 | | `artifact.backup` | Boolean | Optional | 결과물 백업 여부 - `true` \| `false` (기본값) - `true`: 백업 - `false`: 백업 안 함 | | `cache` | Object | Optional | 빌드 완료 후 이미지 저장 정보 - `cache.use`가 `true`인 경우, 하위 정보 포함하여 필수 입력 - 단, `cache.latest`는 선택 입력 | | `cache.use` | Boolean | Optional | 빌드 완료 후 이미지 저장 여부 - `true` \| `false` (기본값) - `true`: 저장 - `false`: 저장 안 함 | | `cache.registry` | String | Conditional | Container Registry 이름 - `cache.use`가 `true`인 경우, 필수 입력 | | `cache.image` | String | Conditional | 이미지 이름 - `cache.use`가 `true`인 경우, 필수 입력 | | `cache.tag` | String | Conditional | 이미지 태그 이름 - `cache.use`가 `true`인 경우, 필수 입력 | | `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`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `key` | String | Optional | 환경 변수 키 | | `value` | String | Optional | 환경 변수 값 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sourcebuild.apigw.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 응답 상태 코드](/docs/devtools-sourcebuild#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "result": { "id": 20***, "name": "Build001" } } ```