GitLab에 연결

이 페이지에서는 GitLab에 연결하고 GitLab 저장소에 링크를 만드는 방법을 설명합니다. Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 이러한 작업을 완료할 수 있습니다.

이 안내는 Google과 함께 GitLab 소스 코드 저장소를 사용하려는 애플리케이션 개발자, 플랫폼 관리자, 보안 관리자를 대상으로 합니다. 특히 Gemini Code Assist와 함께 GitLab 저장소를 사용할 수 있습니다.

Developer Connect에 대해 자세히 알아보려면 Developer Connect 개요를 참고하세요.

시작하기 전에

  1. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Developer Connect를 사용 설정하면 Secret Manager API도 사용 설정됩니다.

  9. GitLab 계정에 액세스할 수 있는지 확인합니다.

    팀의 작업을 안전하게 유지하려면 개인 계정이 아닌 서비스 계정이나 팀에서 공유하는 계정을 사용하여 이 가이드의 작업을 완료하는 것이 좋습니다.

  10. GitLab 저장소를 소유하고 있거나 공유 저장소에 대한 관리자 수준 권한이 있는지 확인합니다.
  11. 선택사항: Developer Connect에서 만드는 인증 보안 비밀을 암호화하기 위한 고객 관리 암호화 키 (CMEK)를 만듭니다.
  12. 선택사항: 이 가이드의 명령줄 안내를 사용하려면 다음 단계를 완료하세요.
    1. Google Cloud CLI 설치 이전에 gcloud CLI를 설치한 경우 gcloud components update를 실행하여 최신 버전을 사용할 수 있는지 확인합니다.
    2. 다음 명령어를 실행하여 Developer Connect 서비스 계정을 만듭니다. 여기서 PROJECT_IDGoogle Cloud 프로젝트 ID입니다.
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

필요한 역할

연결 및 링크를 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 프로젝트 소유자가 아닌 경우 다음 권한이 있어야 합니다. 사용자 계정에 대한 Developer Connect 관리자 (roles/developerconnect.admin)
  • CMEK를 사용하여 Developer Connect에서 생성하는 보안 비밀을 암호화하려는 경우 다음 권한이 필요합니다. Secret Manager 서비스 계정에 대한 Cloud KMS CryptoKey 암호화/복호화 (roles/cloudkms.cryptoKeyEncrypterDecrypter)
  • gcloud CLI를 사용하여 이 가이드의 단계를 완료하려면 다음이 필요합니다. 개발자 연결 서비스 계정에 대한 Secret Manager 관리자 역할 (roles/secretmanager.admin)
  • Google Cloud 콘솔을 사용하여 이 가이드의 단계를 완료하려면 사용자 계정에 프로젝트 IAM 관리자 (roles/resourcemanager.projectIamAdmin)가 있어야 합니다.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

액세스 토큰 만들기

GitLab에서 액세스 토큰을 만들려면 다음 단계를 완료하세요.

  1. GitLab에 로그인합니다.

  2. GitLab 문서의 안내에 따라 다음 권한으로 개인 액세스 토큰, 그룹 액세스 토큰 또는 프로젝트 액세스 토큰을 만듭니다.

    • 저장소 연결 및 연결 해제를 위한 api 범위의 토큰 1개
    • Developer Connect가 저장소의 소스 코드를 읽을 수 있도록 read_api 범위가 있는 토큰 1개
    • 그룹 액세스 토큰과 프로젝트 액세스 토큰의 경우 토큰에 Maintainer 이상의 역할이 있어야 합니다.

연결 만들기

이 섹션에서는 Developer Connect와 GitLab 간의 연결을 만드는 방법을 설명합니다. Google Cloud 콘솔을 사용하는 경우 연결 설정을 완료할 때 저장소 링크 추가를 시작할 수도 있습니다.

새 GitLab 연결을 만들려면 다음 옵션 중 하나를 선택하세요.

콘솔

다음 단계를 완료하여 연결을 시작합니다.

  1. Google Cloud 콘솔에서 Developer Connect를 엽니다.

    Developer Connect로 이동

    Developer Connect에 Git 저장소 페이지가 표시됩니다.

    • 소스 코드 관리 제공업체 목록이 표시되는 경우: 소스 코드 관리 제공업체를 선택하여 첫 번째 연결 구성을 시작합니다. GitLab 카드에서 연결을 클릭합니다.
    • 기존 연결이 나열된 표가 표시되는 경우: 연결 만들기 > GitLab을 클릭하여 소스 코드 관리 제공업체를 설정합니다.

      연결 만들기 페이지가 열립니다.

  2. 리전에서 연결 리소스의 리전을 선택합니다.

    1. 이름에 새 연결의 이름을 입력합니다.
  3. 액세스 토큰 섹션에 계정의 토큰을 입력합니다.

    • API 액세스 토큰: api 범위의 액세스 토큰을 입력합니다.
    • API 읽기 액세스 토큰: read_api 범위가 있는 액세스 토큰을 입력합니다.

    GitLab 토큰이 유효한 상태로 유지되도록 해야 합니다. GitLab 토큰의 최대 수명은 토큰 생성자 또는 관리자가 달리 지정하지 않는 한 365일입니다. 토큰 만료 설정 및 알림을 관리하는 방법을 알아보려면 개인 액세스 토큰, 그룹 액세스 토큰, 프로젝트 액세스 토큰에 관한 GitLab 문서를 참고하세요.

  4. 선택적 구성 설정을 보려면 더보기를 클릭합니다.

    1. 선택사항: 암호화 섹션에서 CMEK 키를 선택하여 Developer Connect에서 만드는 Secret Manager 보안 비밀을 암호화합니다.

    2. 선택사항: 기본적으로 Developer Connect는 GitLab에 대한 Git 호출의 프록시 역할을 할 수 있습니다. 이 옵션을 사용 중지하려면 Developer Connect 프록시 사용 설정 체크박스를 선택 해제합니다.

  5. 계속을 클릭합니다.

연결이 생성되면 저장소 연결 페이지가 표시됩니다.

다음 단계를 완료하여 저장소를 연결에 연결합니다.

  1. 사용 가능한 저장소 목록에서 사용할 저장소를 선택합니다.

  2. 확인을 클릭합니다.

  3. 링크를 클릭합니다.

연결이 연결 페이지에 추가되고 저장소 링크가 Google Cloud 콘솔의 저장소 페이지에 추가됩니다. 언제든지 기존 연결에 링크를 추가할 수 있습니다.

Gemini Code Assist를 설정하는 경우 Gemini Code Assist 코드 맞춤설정 구성 및 사용의 단계에 따라 프로세스를 계속 진행하세요.

gcloud

  1. 다음 명령어를 실행하여 Secret Manager에 웹훅 보안 비밀을 만듭니다. 여기서 WEBHOOK_SECRET_NAME은 웹훅 보안 비밀의 이름입니다.

         cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAME
    
  2. 다음 명령어를 실행하여 Secret Manager에 액세스 토큰을 저장합니다.

    gcloud secrets create API_SECRET_NAME
    
    echo -n API_SECRET_DATA | gcloud secrets versions add API_SECRET_NAME --data-file=-
    
    gcloud secrets create READ_SECRET_NAME
    
    echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-
    

    다음을 바꿉니다.

    • API_SECRET_NAME: api 범위의 토큰을 저장하는 보안 비밀의 이름입니다.
    • API_SECRET_DATA: api 범위가 있는 토큰입니다(예: glpat-XXXXXXXXXXXXXXXX).
    • READ_SECRET_NAME: read_api 범위의 토큰을 저장하는 보안 비밀의 이름입니다.
    • READ_SECRET_DATA: read_api 범위가 있는 토큰입니다(예: glpat-XXXXXXXXXXXXXXXX).
  3. developer-connect connections create 명령어를 실행하여 GitLab 계정에 대한 연결을 시작합니다.

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \
        --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \
        --gitlab-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION
        --git-proxy-config-enabled
    

    다음을 바꿉니다.

    • CONNECTION_NAME: 연결 이름입니다.
    • REGION: 연결의 리전입니다.
    • PROJECT_NAME: Google Cloud프로젝트 ID
    • API_SECRET_NAME: api 범위가 있는 토큰이 포함된 Secret Manager 보안 비밀의 이름
    • READ_SECRET_NAME: read_api 범위가 있는 토큰이 포함된 Secret Manager 보안 비밀의 이름
    • WEBHOOK_SECRET_NAME: 웹훅 보안 비밀이 포함된 Secret Manager 보안 비밀의 이름입니다.
    • VERSION: 각 보안 비밀의 버전 번호입니다. 최신 버전 번호를 사용하려면 latest일 수 있습니다.
    • --git-proxy-config-enabled: Developer Connect가 GitLab에 대한 Git 호출의 프록시 역할을 하도록 지원하는 선택적 플래그입니다. 이는 미리보기 버전에 있는 기능입니다.

    Developer Connect에서 GitLab에 대한 연결을 완료합니다. 그런 다음 저장소에 연결합니다.

GitLab에 연결한 후 저장소에 연결할 수 있습니다. 나중에 필요에 따라 이 단계를 반복하여 저장소를 추가로 연결할 수 있습니다.

기존 GitLab 연결에 저장소 링크를 만들려면 다음 옵션 중 하나를 선택하세요.

콘솔

다음 단계를 완료하여 저장소 링크를 만듭니다.

  1. Google Cloud 콘솔에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 연결을 클릭합니다.

    Git 저장소 연결 창이 열립니다.

  3. 연결 목록에서 연결을 선택합니다.

  4. 계속을 클릭합니다.

  5. 저장소 목록에서 연결할 저장소를 선택합니다.

    Developer Connect에 저장소 리소스의 추천 이름이 표시됩니다.

  6. 저장소 리소스 이름 지정 옵션을 선택합니다.

    • 생성됨: 생성된 저장소 리소스 이름을 사용합니다.
    • 수동: 직접 이름을 입력합니다.
  7. 만들기를 클릭합니다.

Developer Connect는 저장소 링크를 만들어 Google Cloud 콘솔에 표시합니다.

gcloud

다음 명령어를 실행하여 GitLab 저장소에 연결합니다.

gcloud developer-connect connections git-repository-links create REPO_NAME \
    --clone-uri=REPO_URI \
    --connection=CONNECTION_NAME \
    --location=REGION

다음을 바꿉니다.

  • REPO_NAME: 저장소 링크의 이름입니다.
  • REPO_URI: 저장소 링크입니다(예: https://gitlab.com/my-project/test-repo.git).
  • CONNECTION_NAME: 이전 단계에서 만든
  • REGION: 연결의 리전입니다.

Developer Connect에서 저장소 링크를 만듭니다.

연결된 저장소를 나열하려면 developer-connect connections git-repository-links list 명령어를 실행합니다.

Gemini Code Assist를 설정하는 경우 Gemini Code Assist 코드 맞춤설정 구성 및 사용의 단계에 따라 프로세스를 계속 진행하세요.

다음 단계