이 페이지에서는 빌드 종속 항목을 지정하는 방법을 설명합니다. Cloud Build를 사용하면 빌드 프로세스와 별도로 소스 코드 종속 항목을 관리할 수 있습니다.
빌드 구성 파일에서 빌드를 위해 클론할 저장소와 가져올 순서를 하나 이상 나열할 수 있습니다. 이러한 방식으로 종속 항목을 지정하면 종속 항목 가져오기가 빌드 프로세스 자체와 분리됩니다.
빌드 구성 파일에 종속 항목을 포함하지 않으면 Cloud Build는 빌드 구성 파일이 포함된 소스 코드 저장소 (트리거된 빌드의 경우) 또는 소스 코드가 포함된 저장소 (명령줄에서 호출하는 빌드의 경우)를 클론합니다. 빌드 구성 파일에 종속 항목을 포함하면 Cloud Build는 dependencies 필드에 지정된 저장소만 클론합니다.
종속 항목은 지정한 순서대로 클론됩니다. 또한 종속 항목 가져오기는 사용자 지정 로직이 실행되기 전에 발생합니다. 따라서 종속 항목 가져오기는 신뢰할 수 있습니다.
종속 항목은 빌드 세부정보 페이지의 빌드 종속 항목 탭에 표시됩니다.
시작하기 전에
이 페이지의 안내에서는 다음 두 저장소 유형 중 하나 이상이 있다고 가정합니다.
공개 저장소이거나 Developer Connect를 사용하여 Cloud Build에 연결된 Git 저장소
가 Developer Connect 저장소를 종속 항목으로 추가하는 데 필요한 권한을 갖도록 하려면 관리자에게 서비스 계정에 대한 Developer Connect 읽기 토큰 접근자 (developerconnect.readTokenAccessor) IAM 역할을 부여해 달라고 요청합니다.
역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 필요한 권한을 커스텀 역할이나 다른 사전 정의된 역할을 통해 부여할 수도 있습니다.
종속 항목 지정
빌드 구성 파일에 dependencies 필드를 추가하여 종속 항목을 지정합니다. dependencies 는 빌드 구성의 최상위 속성이지만 파일의 아무 곳에나 배치할 수 있습니다.
GitHub 종속 항목 지정
GitHub 저장소의 종속 항목을 지정하려면 빌드 구성 파일에 다음 dependencies 구성을 추가합니다.
YAML
dependencies:
- gitSource:
repository:
url: 'URL'
developerConnect: 'DC_RESOURCE_PATH'
revision: 'REVISION'
recurseSubmodules: 'true|false'
depth: 'DEPTH'
destPath: 'DEST_PATH'
JSON
{
"dependencies": {
"gitSource": {
"repository": {
"url": "URL"
"developerConnect": "DC_RESOURCE_PATH"
},
"revision": "REVISION",
"recurseSubmodules": true|false,
"depth": "DEPTH",
"destPath": "DEST_PATH",
},
},
}
다음 값을 바꿉니다.
URL: 가져올 저장소의 HTTPS URL입니다. 저장소가 Developer Connect를 사용하여 Cloud Build에 연결되지 않은 경우 필수입니다.
DC_RESOURCE_PATH: Developer Connect 저장소의 리소스 경로입니다. Google Cloud 예를 들어
projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo입니다. 저장소가 Developer Connect를 사용하여 Cloud Build에 연결된 경우 필수입니다.Developer Connect를 사용하여 저장소를 연결하는 경우 다음이 필요합니다.
- Cloud Build 서비스 계정에
Developer Connect Read Token Accessor역할이 있어야 합니다.
- Cloud Build 서비스 계정에
REVISION: 필수사항입니다. 저장소에서 가져올 버전, 커밋 해시, 태그 또는 브랜치 이름입니다.
recurseSubmodules: 'true|false': 하위 모듈을 가져올지 여부입니다.DEPTH: 선택사항, 저장소 기록을 가져올 깊이입니다. 지정하지 않으면 최신 커밋이 가져옵니다.
1: 최신 커밋2: 최근 두 개의 커밋3: 최근 세 개의 커밋-1: 모든 커밋
DEST_PATH: 필수사항입니다. 저장소가 클론되는 디렉터리의 경로입니다. 예를 들어
my/repo입니다.dest_path를 설정하면 저장소가/workspace/<dest_path>에서 가져옵니다.dest_path값은 빌드의 작업 디렉터리를 기준으로 하는 경로여야 합니다.
일반 아티팩트를 종속 항목으로 지정
일반 아티팩트를 종속 항목으로 지정하려면 빌드 구성 파일에 다음 dependencies 구성을 추가합니다.
YAML
dependencies:
- genericArtifact:
resource: RESOURCE
destPath: PATH
JSON
{
"dependencies": [
{
"genericArtifact": {
"resource": "RESOURCE",
"destPath": "PATH"
}
}
]
}
각 항목의 의미는 다음과 같습니다.
RESOURCE는 Artifact Registry 일반 저장소 내 일반 아티팩트의 전체 주소이며 다음과 같이 형식이 지정됩니다.
projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/packages/PACKAGE/versions/VERSIONCloud Build에서 아티팩트 참조가 변경 불가능한지 확인할 수 있도록 리소스 주소에 아티팩트의 지문을 포함하는 것이 좋습니다. 지문이 추가된 패키지 버전은 다음과 같이 형식이 지정됩니다.
VERSION@dirsum_sha256=HASH_VALUEArtifact Registry 저장소에서 아티팩트의 지문을 찾으려면 저장소에서 패키지 버전의 지문 검색을 참조하세요.
PATH는 Cloud Build 가 저장소에서 패키지를 다운로드하는 폴더의 주소입니다. 폴더가 아직 없는 경우 Cloud Build에서 자동으로 만듭니다.
다음 단계
Cloud Build 저장소를 사용하여 저장소를 Cloud Build에 연결하는 방법 알아보기
Developer Connect를 사용하여 저장소를 Cloud Build에 연결하는 방법 알아보기.