runlot
참조API

배포

deployments 카테고리의 API 작업 3개를 다룹니다.

메서드경로설명
GET/v1/orgs/{orgSlug}/projects/{projectName}/deployments배포 이력
POST/v1/orgs/{orgSlug}/projects/{projectName}/deployments아티팩트를 업로드한 뒤 배포합니다
POST/v1/orgs/{orgSlug}/projects/{projectName}/rollback이전 버전으로 롤백합니다

GET /v1/orgs/{orgSlug}/projects/{projectName}/deployments

최신 버전이 먼저 옵니다. 아티팩트는 불변이며 절대 삭제되지 않습니다.

operationId listDeployments

상태 코드설명응답 본문
200배포 목록object
403
404

POST /v1/orgs/{orgSlug}/projects/{projectName}/deployments

본문은 번들 tarball 자체입니다. 메타데이터는 따로 받지 않는데, 번들이 스스로를 설명하기 때문입니다 — 매니페스트가 번들 안에 있으므로 다이제스트 하나가 코드, 에셋, 설정을 한 번에 모두 다룹니다. 별도 필드로 받으면 다이제스트가 다루지 않는 입력이 생기게 됩니다.

번들 구조 (gzip tar):

runlot.json manifest (required) worker/ worker 코드. 정적 사이트인 경우 생략 가능 assets/ 정적 에셋. 생략 가능

동일한 다이제스트를 다시 업로드하면 새 버전이 생성됩니다 — 배포는 "이 코드를 업로드한다"가 아니라 "지금 이것을 제공한다"는 이벤트이며, 롤백 이력을 읽을 수 있게 유지하려면 이런 이벤트 각각이 독립적으로 남아야 합니다.

업로드가 성공하면 새 배포가 즉시 라이브로 전환됩니다.

출처 헤더(선택 사항)입니다. 본문이 번들 자체이므로 메타데이터는 헤더로 전달됩니다. CLI는 배포하는 폴더의 git을 읽어 포함시키며, git이 없으면 생략합니다. CP는 이를 검증할 수 없으므로 표시 전용이며 — 인가나 배치의 근거가 되지 않습니다.

X-Runlot-Git-Commit HEAD 해시(16진수, 7-64자) X-Runlot-Git-Message 커밋 메시지의 첫 줄, percent-encoding 처리됨(200자에서 잘림) X-Runlot-Git-Branch 브랜치 이름, percent-encoding 처리됨 X-Runlot-Git-Dirty true|false — 커밋되지 않은 변경 사항이 있었는지 여부

operationId createDeployment

매개변수위치필수타입설명
X-Runlot-Git-Commit헤더아니오문자열
X-Runlot-Git-Message헤더아니오문자열
X-Runlot-Git-Branch헤더아니오문자열
X-Runlot-Git-Dirty헤더아니오불리언

요청 본문: application/gzip · string

상태 코드설명응답 본문
201생성된 배포Deployment
400
403
404
413번들이 한도를 초과했습니다Error

POST /v1/orgs/{orgSlug}/projects/{projectName}/rollback

새 배포를 생성하지 않고 project_live를 이전 배포로 이동합니다. 아티팩트는 불변이므로 롤백 결과는 당시 제공되던 바이트와 정확히 동일합니다.

operationId rollback

요청 본문: application/json · object

상태 코드설명응답 본문
200롤백된 배포Deployment
403
404

이 페이지의 목차