이 샘플은 커밋 ID 외의 형식(커밋 SHA라고 함)을 사용하여 소스 버전을 지정하는 방법을 입증합니다. 다음 방법으로 소스 버전을 지정할 수 있습니다.
-
Amazon S3 소스 공급자의 경우 빌드 입력 ZIP 파일을 나타내는 객체의 버전 ID를 사용합니다.
-
CodeCommit의 경우 Bitbucket, GitHub 및 GitHub Enterprise Server는 다음 중 하나를 사용합니다.
-
풀 요청 참조로서 풀 요청(예:
refs/pull/1/head
). -
브랜치 이름으로서 브랜치.
-
커밋 ID.
-
태그.
-
참조 및 커밋 ID. 참조는 다음 중 하나일 수 있습니다.
-
태그(예:
refs/tags/mytagv1.0^{full-commit-SHA}
). -
브랜치(예:
refs/heads/mydevbranch^{full-commit-SHA}
). -
풀 요청(예:
refs/pull/1/head^{full-commit-SHA}
).
-
-
-
GitLab 및 GitLab Self Managed의 경우 다음 중 하나를 사용합니다.
-
브랜치 이름으로서 브랜치.
-
커밋 ID.
-
태그.
-
참고
리포지토리가 GitHub 또는 GitHub Enterprise Server인 경우에만 풀 요청 소스 버전을 지정할 수 있습니다.
참조 및 커밋 ID를 사용하여 버전을 지정하는 경우 빌드의 DOWNLOAD_SOURCE
단계는 버전만을 제공하는 경우보다 더 빠릅니다. 그 이유는 참조 추가 시 CodeBuild가 커밋을 찾기 위해 전체 리포지토리를 다운로드할 필요가 없기 때문입니다.
-
커밋 ID(예:
12345678901234567890123467890123456789
)만을 사용하여 소스 버전을 지정할 수 있습니다. 이 경우 CodeBuild는 버전을 찾기 위해 전체 리포지토리를 다운로드해야 합니다. -
다음 형식으로 참조 및 커밋 ID를 사용하여 소스 버전을 지정할 수 있습니다.
(예:refs
/heads
/branchname
^{full-commit-SHA
}refs/heads/main^{12345678901234567890123467890123456789}
). 이 경우 CodeBuild는 버전을 찾기 위해 지정한 분기만 다운로드합니다.
참고
또한 빌드의 DOWNLOAD_SOURCE
단계를 촉진하기 위해 Git clone depth를 낮은 값으로 설정할 수 있습니다. CodeBuild는 더 적은 수의 리포지토리 버전을 다운로드합니다.