InfoGrab Docs

튜토리얼: Google Cloud 통합 설정

요약

이 튜토리얼은 Google Cloud를 GitLab과 통합하여 Google Cloud에 직접 배포할 수 있는 방법을 보여줍니다. Google Cloud 통합을 설정하려면: 통합을 설정하려면 다음이 필요합니다: Google Cloud 사용을 보안하려면 Google Cloud IAM 통합을 설정해야 합니다.

이 튜토리얼은 Google Cloud를 GitLab과 통합하여 Google Cloud에 직접 배포할 수 있는 방법을 보여줍니다.

Google Cloud 통합을 설정하려면:

  1. Google Cloud IAM(Identity and Access Management)으로 사용 보안 강화
  2. Google Artifact Registry 리포지터리에 연결
  3. Google Cloud에서 CI/CD 잡을 실행하도록 GitLab Runner 설정
  4. CI/CD 컴포넌트로 Google Cloud에 배포

시작하기 전에#

통합을 설정하려면 다음이 필요합니다:

Google Cloud IAM(Identity and Access Management)으로 사용 보안 강화#

Google Cloud 사용을 보안하려면 Google Cloud IAM 통합을 설정해야 합니다. 이 단계 후에는 GitLab 그룹 또는 프로젝트가 Google Cloud에 연결됩니다. 워크로드 아이덴티티 페더레이션을 사용하여 서비스 계정 키와 관련 위험 없이 Google Cloud 리소스에 대한 권한을 처리할 수 있습니다.

  1. 상단 표시줄에서 Search or go to를 선택하고 그룹 또는 프로젝트를 찾습니다. 그룹에서 구성하면 기본적으로 그 안의 모든 프로젝트에 설정이 적용됩니다.
  2. Settings > Integrations를 선택합니다.
  3. Google Cloud IAM을 선택합니다.
  4. Guided setup을 선택하고 지침을 따릅니다.

Google Artifact Registry 리포지터리에 연결#

Google IAM 통합이 설정되었으므로 Google Artifact Registry 리포지터리에 연결할 수 있습니다. 이 단계 후에는 GitLab에서 Google Cloud 아티팩트를 볼 수 있습니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
  2. Google Artifact Registry를 선택합니다.
  3. Enable integration 아래에서 Active 체크박스를 선택합니다.
  4. 필드를 완성합니다:
    • Google Cloud project ID: Artifact Registry 리포지터리가 있는 Google Cloud 프로젝트의 ID.
    • Repository name: Artifact Registry 리포지터리의 이름.
    • Repository location: Artifact Registry 리포지터리의 위치.
  5. Configure Google Cloud IAM policies에서 화면의 지침을 따라 Google Cloud에서 IAM 정책을 설정합니다. 이러한 정책은 GitLab 프로젝트에서 Artifact Registry 리포지터리를 사용하는 데 필요합니다.
  6. Save changes를 선택합니다.
  7. Google Cloud 아티팩트를 보려면 왼쪽 사이드바에서 Deploy > Google Artifact Registry를 선택합니다.

이후 단계에서 컨테이너 이미지를 Google Artifact Registry에 푸시합니다.

Google Cloud에서 CI/CD 잡을 실행하도록 GitLab Runner 설정#

Google Cloud에서 CI/CD 잡을 실행하도록 GitLab Runner를 설정할 수 있습니다. 이 단계 후에는 GitLab 프로젝트에 여러 잡을 동시에 실행하는 임시 러너를 만드는 러너 관리자가 있는 자동 확장 러너 플릿이 생깁니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
  2. Runners 섹션을 확장합니다.
  3. New project runner를 선택합니다.
  4. 필드를 완성합니다.
    • Platform 섹션에서 Google Cloud를 선택합니다.
    • Tags 섹션의 Tags 필드에 러너가 실행할 수 있는 잡을 지정하는 잡 태그를 입력합니다. 이 러너에 대한 잡 태그가 없으면 Run untagged를 선택합니다.
    • 선택 사항. Runner description 필드에 GitLab에 표시되는 러너 설명을 추가합니다.
    • 선택 사항. Configuration 섹션에서 추가 구성을 추가합니다.
  5. Create runner를 선택합니다.
  6. Step 1: Specify environment 섹션의 필드를 완성하여 러너가 CI/CD 잡을 실행하는 Google Cloud의 환경을 지정합니다.
  7. Step 2: Set up GitLab Runner 아래에서 Setup instructions를 선택합니다.
  8. 모달의 지침을 따릅니다. Step 1은 러너를 프로비저닝할 준비가 되도록 Google Cloud 프로젝트에 대해 한 번만 수행하면 됩니다.

지침을 따른 후 러너가 온라인 상태가 되고 잡을 실행할 준비가 되는 데 1분 정도 걸릴 수 있습니다.

CI/CD 컴포넌트로 Google Cloud에 배포#

개발의 모범 사례는 파이프라인 전반에서 일관성을 유지하기 위해 CI/CD 컴포넌트와 같은 구문을 재사용하는 것입니다.

GitLab과 Google의 컴포넌트 라이브러리를 사용하여 GitLab 프로젝트가 Google Cloud 리소스와 상호 작용하도록 만들 수 있습니다. Google의 CI/CD 컴포넌트를 참조하세요.

컨테이너 이미지를 Google Artifact Registry로 복사#

시작하기 전에 컨테이너 이미지를 빌드하고 GitLab 컨테이너 레지스트리에 푸시하는 작동하는 CI/CD 구성이 있어야 합니다.

GitLab 컨테이너 레지스트리에서 Google Artifact Registry로 컨테이너 이미지를 복사하려면 Google의 CI/CD 컴포넌트를 파이프라인에 포함합니다. 이 단계 후에는 새 컨테이너 이미지가 GitLab 컨테이너 레지스트리에 푸시될 때마다 Google Artifact Registry에도 푸시됩니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Build > Pipeline editor를 선택합니다.

  2. 기존 구성에서 다음과 같이 컴포넌트를 추가합니다.

    • <your_stage>를 이 잡이 실행되는 스테이지로 교체합니다. 이미지가 빌드되고 GitLab 컨테이너 레지스트리에 푸시된 후여야 합니다.
    include:
      - component: gitlab.com/google-gitlab-components/artifact-registry/upload-artifact-registry@main
        inputs:
          stage: <your_stage>
          source: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
          target: $GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_LOCATION-docker.pkg.dev/$GOOGLE_ARTIFACT_REGISTRY_PROJECT_ID/$GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_NAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
    
  3. 설명적인 커밋 메시지를 추가합니다. Target branch는 기본 브랜치여야 합니다.

  4. Commit changes를 선택합니다.

  5. Build > Pipelines로 이동하여 새 파이프라인이 실행되는지 확인합니다.

  6. 파이프라인이 성공적으로 완료된 후 Google Artifact Registry로 복사된 컨테이너 이미지를 보려면 왼쪽 사이드바에서 Deploy > Google Artifact Registry를 선택합니다.

Google Cloud Deploy 릴리스 만들기#

파이프라인을 Google Cloud Deploy와 통합하려면 Google의 CI/CD 컴포넌트를 파이프라인에 포함합니다. 이 단계 후에는 파이프라인이 애플리케이션으로 Google Cloud Deploy 릴리스를 만듭니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Build > Pipeline editor를 선택합니다.
  2. 기존 구성에서 Google Cloud Deploy 컴포넌트를 추가합니다.
  3. 컴포넌트 inputs를 편집합니다.
  4. 설명적인 커밋 메시지를 추가합니다. Target branch는 기본 브랜치여야 합니다.
  5. Commit changes를 선택합니다.
  6. Build > Pipelines로 이동하여 새 파이프라인이 통과하는지 확인합니다.
  7. 파이프라인이 성공적으로 완료된 후 릴리스를 보려면 Google Cloud 문서를 참조하세요.

완료했습니다! 이제 Google Cloud를 GitLab과 통합하고 GitLab 프로젝트가 Google Cloud에 원활하게 배포됩니다.

관련 주제#

튜토리얼: Google Cloud 통합 설정

원문 보기
요약

이 튜토리얼은 Google Cloud를 GitLab과 통합하여 Google Cloud에 직접 배포할 수 있는 방법을 보여줍니다. Google Cloud 통합을 설정하려면: 통합을 설정하려면 다음이 필요합니다: Google Cloud 사용을 보안하려면 Google Cloud IAM 통합을 설정해야 합니다.

이 튜토리얼은 Google Cloud를 GitLab과 통합하여 Google Cloud에 직접 배포할 수 있는 방법을 보여줍니다.

Google Cloud 통합을 설정하려면:

  1. Google Cloud IAM(Identity and Access Management)으로 사용 보안 강화
  2. Google Artifact Registry 리포지터리에 연결
  3. Google Cloud에서 CI/CD 잡을 실행하도록 GitLab Runner 설정
  4. CI/CD 컴포넌트로 Google Cloud에 배포

시작하기 전에#

통합을 설정하려면 다음이 필요합니다:

Google Cloud IAM(Identity and Access Management)으로 사용 보안 강화#

Google Cloud 사용을 보안하려면 Google Cloud IAM 통합을 설정해야 합니다. 이 단계 후에는 GitLab 그룹 또는 프로젝트가 Google Cloud에 연결됩니다. 워크로드 아이덴티티 페더레이션을 사용하여 서비스 계정 키와 관련 위험 없이 Google Cloud 리소스에 대한 권한을 처리할 수 있습니다.

  1. 상단 표시줄에서 Search or go to를 선택하고 그룹 또는 프로젝트를 찾습니다. 그룹에서 구성하면 기본적으로 그 안의 모든 프로젝트에 설정이 적용됩니다.
  2. Settings > Integrations를 선택합니다.
  3. Google Cloud IAM을 선택합니다.
  4. Guided setup을 선택하고 지침을 따릅니다.

Google Artifact Registry 리포지터리에 연결#

Google IAM 통합이 설정되었으므로 Google Artifact Registry 리포지터리에 연결할 수 있습니다. 이 단계 후에는 GitLab에서 Google Cloud 아티팩트를 볼 수 있습니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
  2. Google Artifact Registry를 선택합니다.
  3. Enable integration 아래에서 Active 체크박스를 선택합니다.
  4. 필드를 완성합니다:
    • Google Cloud project ID: Artifact Registry 리포지터리가 있는 Google Cloud 프로젝트의 ID.
    • Repository name: Artifact Registry 리포지터리의 이름.
    • Repository location: Artifact Registry 리포지터리의 위치.
  5. Configure Google Cloud IAM policies에서 화면의 지침을 따라 Google Cloud에서 IAM 정책을 설정합니다. 이러한 정책은 GitLab 프로젝트에서 Artifact Registry 리포지터리를 사용하는 데 필요합니다.
  6. Save changes를 선택합니다.
  7. Google Cloud 아티팩트를 보려면 왼쪽 사이드바에서 Deploy > Google Artifact Registry를 선택합니다.

이후 단계에서 컨테이너 이미지를 Google Artifact Registry에 푸시합니다.

Google Cloud에서 CI/CD 잡을 실행하도록 GitLab Runner 설정#

Google Cloud에서 CI/CD 잡을 실행하도록 GitLab Runner를 설정할 수 있습니다. 이 단계 후에는 GitLab 프로젝트에 여러 잡을 동시에 실행하는 임시 러너를 만드는 러너 관리자가 있는 자동 확장 러너 플릿이 생깁니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Settings > CI/CD를 선택합니다.
  2. Runners 섹션을 확장합니다.
  3. New project runner를 선택합니다.
  4. 필드를 완성합니다.
    • Platform 섹션에서 Google Cloud를 선택합니다.
    • Tags 섹션의 Tags 필드에 러너가 실행할 수 있는 잡을 지정하는 잡 태그를 입력합니다. 이 러너에 대한 잡 태그가 없으면 Run untagged를 선택합니다.
    • 선택 사항. Runner description 필드에 GitLab에 표시되는 러너 설명을 추가합니다.
    • 선택 사항. Configuration 섹션에서 추가 구성을 추가합니다.
  5. Create runner를 선택합니다.
  6. Step 1: Specify environment 섹션의 필드를 완성하여 러너가 CI/CD 잡을 실행하는 Google Cloud의 환경을 지정합니다.
  7. Step 2: Set up GitLab Runner 아래에서 Setup instructions를 선택합니다.
  8. 모달의 지침을 따릅니다. Step 1은 러너를 프로비저닝할 준비가 되도록 Google Cloud 프로젝트에 대해 한 번만 수행하면 됩니다.

지침을 따른 후 러너가 온라인 상태가 되고 잡을 실행할 준비가 되는 데 1분 정도 걸릴 수 있습니다.

CI/CD 컴포넌트로 Google Cloud에 배포#

개발의 모범 사례는 파이프라인 전반에서 일관성을 유지하기 위해 CI/CD 컴포넌트와 같은 구문을 재사용하는 것입니다.

GitLab과 Google의 컴포넌트 라이브러리를 사용하여 GitLab 프로젝트가 Google Cloud 리소스와 상호 작용하도록 만들 수 있습니다. Google의 CI/CD 컴포넌트를 참조하세요.

컨테이너 이미지를 Google Artifact Registry로 복사#

시작하기 전에 컨테이너 이미지를 빌드하고 GitLab 컨테이너 레지스트리에 푸시하는 작동하는 CI/CD 구성이 있어야 합니다.

GitLab 컨테이너 레지스트리에서 Google Artifact Registry로 컨테이너 이미지를 복사하려면 Google의 CI/CD 컴포넌트를 파이프라인에 포함합니다. 이 단계 후에는 새 컨테이너 이미지가 GitLab 컨테이너 레지스트리에 푸시될 때마다 Google Artifact Registry에도 푸시됩니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Build > Pipeline editor를 선택합니다.

  2. 기존 구성에서 다음과 같이 컴포넌트를 추가합니다.

    • <your_stage>를 이 잡이 실행되는 스테이지로 교체합니다. 이미지가 빌드되고 GitLab 컨테이너 레지스트리에 푸시된 후여야 합니다.
    include:
      - component: gitlab.com/google-gitlab-components/artifact-registry/upload-artifact-registry@main
        inputs:
          stage: <your_stage>
          source: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
          target: $GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_LOCATION-docker.pkg.dev/$GOOGLE_ARTIFACT_REGISTRY_PROJECT_ID/$GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_NAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
    
  3. 설명적인 커밋 메시지를 추가합니다. Target branch는 기본 브랜치여야 합니다.

  4. Commit changes를 선택합니다.

  5. Build > Pipelines로 이동하여 새 파이프라인이 실행되는지 확인합니다.

  6. 파이프라인이 성공적으로 완료된 후 Google Artifact Registry로 복사된 컨테이너 이미지를 보려면 왼쪽 사이드바에서 Deploy > Google Artifact Registry를 선택합니다.

Google Cloud Deploy 릴리스 만들기#

파이프라인을 Google Cloud Deploy와 통합하려면 Google의 CI/CD 컴포넌트를 파이프라인에 포함합니다. 이 단계 후에는 파이프라인이 애플리케이션으로 Google Cloud Deploy 릴리스를 만듭니다.

  1. GitLab 프로젝트의 왼쪽 사이드바에서 Build > Pipeline editor를 선택합니다.
  2. 기존 구성에서 Google Cloud Deploy 컴포넌트를 추가합니다.
  3. 컴포넌트 inputs를 편집합니다.
  4. 설명적인 커밋 메시지를 추가합니다. Target branch는 기본 브랜치여야 합니다.
  5. Commit changes를 선택합니다.
  6. Build > Pipelines로 이동하여 새 파이프라인이 통과하는지 확인합니다.
  7. 파이프라인이 성공적으로 완료된 후 릴리스를 보려면 Google Cloud 문서를 참조하세요.

완료했습니다! 이제 Google Cloud를 GitLab과 통합하고 GitLab 프로젝트가 Google Cloud에 원활하게 배포됩니다.

관련 주제#