아직 Secure Source Manager 인스턴스를 만들지 않은 경우 Secure Source Manager 인스턴스 만들기를 참고하여 시작하세요.
시작하기 전에
- Secure Source Manager 인스턴스를 만들거나 액세스 권한을 요청합니다. 자세한 내용은 Secure Source Manager 인스턴스 만들기를 참고하세요.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
beta
Google Cloud CLI 구성요소를 설치합니다.gcloud components install alpha
필요한 역할
저장소를 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Secure Source Manager 인스턴스 저장소 생성자 역할 (
roles/securesourcemanager.instanceRepositoryCreator
) Secure Source Manager 인스턴스 -
인스턴스 프로젝트의 Secure Source Manager 저장소 생성자 역할 (
roles/securesourcemanager.repoCreator
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어 및 사용자에게 인스턴스 액세스 권한 부여를 참고하세요.
저장소 만들기
웹 인터페이스
-
웹 인터페이스를 통해 Secure Source Manager 인스턴스에 액세스하려면 다음 URL을 브라우저 주소 표시줄에 복사합니다.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
다음을 바꿉니다.
- INSTANCE_ID을 인스턴스 이름으로 바꿉니다.
- PROJECT_NUMBER를 인스턴스의 Google Cloud 프로젝트 번호로 바꿉니다. 프로젝트 식별에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
- LOCATION을 인스턴스의 리전으로 바꿉니다.
필요한 경우 Secure Source Manager 사용자 인증 정보를 사용하여 인증합니다.
탐색 메뉴 오른쪽 상단에 있는 + 새 저장소 만들기 아이콘을 클릭합니다.
저장소 세부정보를 작성합니다.
저장소 ID: 저장소 이름을 입력합니다.
설명: 선택사항입니다. 저장소 설명입니다.
저장소 초기화: 선택사항입니다. 저장소를 초기화하고 .gitignore, 라이선스, README 파일을 추가하려면 이 옵션을 선택하세요.
.gitignore: 선택사항. 드롭다운 메뉴 템플릿을 사용하여 추적하지 않을 파일을 선택합니다.
license: 선택사항입니다. 드롭다운 메뉴에서 일반 라이선스를 선택합니다.
기본 브랜치: 기본 브랜치의 이름입니다.
제출을 클릭합니다.
gcloud
다음 명령어를 실행하여 gcloud CLI를 사용하여 저장소를 만듭니다.
gcloud alpha source-manager repos create REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --description=DESCRIPTION \ --default-branch=BRANCH \ --gitignores=GITIGNORES \ --license=LICENSE \ --readme=README
다음을 바꿉니다.
REPOSITORY_ID
을 저장소 이름으로 바꿉니다.LOCATION
을 저장소를 만들려는 리전으로 바꿉니다. 지원되는 위치에 대한 자세한 내용은 위치를 참고하세요.PROJECT_ID
를 저장소를 만들려는 Secure Source Manager 인스턴스의 프로젝트 ID로 바꿉니다.INSTANCE_ID
을 저장소를 만들 인스턴스의 인스턴스 ID로 바꿉니다. 프로젝트의 Secure Source Manager 인스턴스를 나열하려면 인스턴스 나열 및 보기를 참고하세요.DESCRIPTION
을 저장소 설명으로 바꿉니다. 이는 선택사항이며 생략할 수 있습니다.BRANCH
을 기본 브랜치 이름으로 바꿉니다. 이는 선택사항이며 생략할 수 있습니다. 설정되지 않은 경우 기본 브랜치 이름은main
입니다.GITIGNORES
: 쉼표로 구분된 gitignore 템플릿 이름 목록입니다. 이는 선택사항이며 생략할 수 있습니다. 사용 가능한 템플릿의 전체 목록을 보려면 저장소 초기화 구성 참조를 참고하세요.LICENSE
을 저장소에 적용할 라이선스 템플릿 이름으로 바꿉니다. 이는 선택사항이며 생략할 수 있습니다. 사용 가능한 라이선스 템플릿의 전체 목록을 보려면 저장소 초기화 구성 참조를 참고하세요.README
와default
를 사용하여 기본 템플릿에서 README 파일을 만듭니다. 이는 선택사항이며 생략할 수 있습니다. 생략하면 README 파일이 생성되지 않습니다.
API
다음 명령어를 실행하여 REST 호출을 사용하여 저장소를 만듭니다.
curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories?repository_id=REPOSITORY_ID \ -d '{"instance": "projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}'
다음을 바꿉니다.
REGION
은 Secure Source Manager 인스턴스의 리전입니다. 지원되는 위치에 대한 자세한 내용은 위치를 참고하세요.INSTANCE_ID
는 Secure Source Manager 인스턴스 ID입니다.PROJECT_ID
는 Secure Source Manager 인스턴스의 프로젝트 ID입니다. 프로젝트 ID를 찾을 수 있는 위치에 대한 자세한 내용은 프로젝트 식별을 참고하세요.REPOSITORY_ID
은 저장소의 이름입니다.
저장소 초기화, 특정 파일 추가, 라이선스 등 HTTP POST 데이터 플래그
-d'{}'
를 사용하여 추가 값을 지정할 수 있습니다..gitignore
자세한 내용은 참조 문서를 참고하세요.출력을 사람이 읽을 수 있도록 하려면
json_pp
을 사용하여 JSON으로 파이프하면 됩니다.예를 들면 다음과 같습니다.
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/my-project-id/locations/us-central1/repositories?repository_id=my-repo \ -d '{"instance": "projects/my-project-id/locations/us-central1/instances/prod-test-instance", "initialConfig":{"defaultBranch":"main"}}' | json_pp
다음과 비슷한 응답이 표시됩니다.
{ "name": "operations/266bf4c7-13fe-11ed-be24-da823b7355d0", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2022-08-04T14:02:59.810496928Z", "endTime": "2022-08-04T14:03:00.558354528Z", "target": "projects/654987321654/locations/us-central1/repositories/my-repo", "verb": "create", "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Repository", "name": "projects/my-project-id/locations/us-central1/repositories/my-repo", "instance": "projects/654987321654/locations/us-central1/instances/prod-test-instance", "createTime": "2022-08-04T14:03:00Z", "uris": { "html": "https://prod-test-instance-654987321654.us-central1.sourcemanager.dev/my-project-id/my-repo", "gitHttps": "https://prod-test-instance-654987321654-git.us-central1.sourcemanager.dev/my-project-id/my-repo.git" } }
각 항목의 의미는 다음과 같습니다.
654987321654
은 저장소 프로젝트 번호입니다.my-project-id
은 저장소 프로젝트 ID입니다.my-repo
은 생성 명령어에서 설정한REPOSITORY_ID
입니다.uris
필드에는 웹브라우저를 통해 또는 Git 프로토콜 HTTPS 액세스를 통해 저장소에 액세스하는 URL이 포함되어 있습니다.
응답의 HTML URI를 사용하여 새 저장소에 액세스합니다. 코드 검토, 문제 추적, 풀 요청은 Secure Source Manager 웹 인터페이스에서 지원됩니다.
저장소가 Secure Source Manager 인스턴스에 생성됩니다.
새 저장소를 만들면 저장소 관리자 역할 (roles/securesourcemanager.repoAdmin
)이 부여됩니다. 새 IAM 권한이 전파되는 데 최대 2분이 걸릴 수 있으므로 생성 후 저장소에 액세스하려고 할 때 권한 오류가 표시되면 몇 분 정도 기다린 후 다시 시도하세요.
생성한 저장소는 Secure Source Manager 웹 인터페이스의 내 저장소 페이지에 나열됩니다.
다음 단계
- 사용자에게 저장소 액세스 권한 부여
- Secure Source Manager와 함께 Git 소스 코드 관리 사용
- Secure Source Manager 웹 인터페이스에서 저장소를 나열하고 확인합니다.