통합을 위한 CICD 빌드


이 튜토리얼에서는 구성 변수(미리보기)를 사용하여 여러 Google Cloud 프로젝트의 다양한 환경 간 통합 승격을 자동화하는 방법을 설명합니다.

개요

이 튜토리얼에서는 샘플 통합에 구성 변수를 사용하여 Application Integration 배포를 자동화합니다. 이 샘플 통합 흐름에서는 API를 호출하고 API의 응답을 Pub/Sub 주제에 게시합니다. 이 샘플은 REST 엔드포인트 호출커넥터 태스크의 사용을 보여줍니다. 다양한 환경 및 Google Cloud 프로젝트에 해당하는 GitHub 저장소에 샘플 통합을 저장할 수 있습니다.

목표

이 튜토리얼에서는 통합에서 다음 태스크를 완료하는 방법을 보여줍니다.

  • 통합을 만듭니다.
  • 구성 변수를 만들어 통합에 사용합니다.
  • 통합을 다른 환경으로 승격합니다.

비용

이 튜토리얼에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

이 튜토리얼의 안내는 리소스 사용량을 Google Cloud 무료 클라우드 기능 및 무료 체험 혜택 한도 내에서 유지하도록 작성되었습니다.

이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. API Secret Manager API, Connectors API 사용 설정

    API 사용 설정

  5. 서비스 계정을 만듭니다.

    1. Google Cloud Console에서 서비스 계정 만들기 페이지로 이동합니다.

      서비스 계정 만들기로 이동
    2. 프로젝트를 선택합니다.
    3. 서비스 계정 이름 필드에 이름을 입력합니다. Google Cloud 콘솔은 이 이름을 기반으로 서비스 계정 ID 필드를 채웁니다.

      서비스 계정 설명 필드에 설명을 입력합니다. 예를 들면 Service account for quickstart입니다.

    4. 만들고 계속하기를 클릭합니다.
    5. 서비스 계정에 Pub/Sub Publisher (roles/pubsub.publisher) 역할을 부여합니다.

      역할을 부여하려면 역할 선택 목록을 찾은 후 Pub/Sub Publisher (roles/pubsub.publisher)을 선택합니다.

    6. 계속을 클릭합니다.
    7. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.

  6. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  7. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  8. API Secret Manager API, Connectors API 사용 설정

    API 사용 설정

  9. 서비스 계정을 만듭니다.

    1. Google Cloud Console에서 서비스 계정 만들기 페이지로 이동합니다.

      서비스 계정 만들기로 이동
    2. 프로젝트를 선택합니다.
    3. 서비스 계정 이름 필드에 이름을 입력합니다. Google Cloud 콘솔은 이 이름을 기반으로 서비스 계정 ID 필드를 채웁니다.

      서비스 계정 설명 필드에 설명을 입력합니다. 예를 들면 Service account for quickstart입니다.

    4. 만들고 계속하기를 클릭합니다.
    5. 서비스 계정에 Pub/Sub Publisher (roles/pubsub.publisher) 역할을 부여합니다.

      역할을 부여하려면 역할 선택 목록을 찾은 후 Pub/Sub Publisher (roles/pubsub.publisher)을 선택합니다.

    6. 계속을 클릭합니다.
    7. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.

Pub/Sub 주제 만들기

  1. Google Cloud 콘솔에서 Pub/Sub 주제 페이지로 이동합니다.

    주제로 이동

  2. 주제 만들기를 클릭합니다.

  3. 주제 ID 필드에 주제의 ID를 입력합니다. 주제 이름 지정에 대한 자세한 내용은 주제, 구독, 스키마, 스냅샷 이름 지정 가이드라인을 참조하세요.

  4. 기본 구독 추가 옵션을 유지합니다.

  5. 다른 옵션을 선택하지 마세요.

  6. 주제 만들기를 클릭합니다.

Pub/Sub 커넥터 구성

  1. Google Cloud 콘솔에서 Integration Connectors > 연결 페이지로 이동한 다음 Google Cloud 프로젝트를 선택하거나 만듭니다.

    연결 페이지로 이동

  2. + 새로 만들기를 클릭하여 연결 만들기 페이지를 엽니다.
  3. 위치 섹션에서 연결 위치를 선택합니다.
    1. 리전: 드롭다운 목록에서 위치를 선택합니다.

      지원되는 모든 리전 목록은 위치를 참조하세요.

    2. 다음을 클릭합니다.
  4. 연결 세부정보 섹션에서 다음을 완료합니다.
    1. 커넥터: 사용 가능한 커넥터 드롭다운 목록에서 Pub/Sub을 선택합니다.
    2. 커넥터 버전: 사용 가능한 버전의 드롭다운 목록에서 커넥터 버전을 선택합니다.
    3. 연결 이름 필드에 pub-sub-connector를 입력합니다.
    4. 서비스 계정: 필수 역할이 있는 서비스 계정을 선택합니다.
    5. 프로젝트 ID: Pub/Sub 인스턴스가 있는 Google Cloud 프로젝트 ID입니다.
    6. 주제 ID: Pub/Sub 주제 이름을 입력합니다.
    7. 다음을 클릭합니다.
  5. 인증 섹션에서 다음을 클릭합니다.
  6. 검토: 연결 및 인증 세부정보를 검토합니다.
  7. 만들기를 클릭합니다.

새 통합 만들기

Application Integration 설정 후 새 통합을 만들 수 있습니다.

  1. Google Cloud 콘솔에서 Application Integration 페이지로 이동합니다.

    Application Integration으로 이동

  2. 탐색 메뉴에서 통합을 클릭합니다. 통합 목록 페이지가 나타납니다.
  3. 통합 만들기를 클릭하고 통합 만들기 페이지에서 다음 세부정보를 제공합니다.
    1. 통합 이름: 통합의 이름을 입력합니다. 예를 들면 build-cicd입니다.
    2. 설명: 선택적으로 통합에 대한 설명을 입력합니다. 예를 들면 Demo integration created for CICD tutorial입니다.
    3. 리전: 프로비저닝된 리전 목록에서 us-central1 리전을 선택합니다. 선택하려는 리전이 프로비저닝되지 않았으면 새 리전 프로비저닝을 참조하세요. 지원되는 리전 목록을 보려면 Application Integration 위치를 참조하세요.
    4. 서비스 계정: 이 필드는 리전에 거버넌스를 사용 설정한 경우에 표시됩니다. 통합을 위한 서비스 계정을 선택합니다. 리전에 거버넌스를 사용 설정하는 방법은 리전 수정을 참조하세요.
    5. 만들기를 클릭합니다. 그러면 통합 편집기 페이지를 열고 태스크트리거를 추가하여 통합을 빌드할 수 있습니다.

통합 흐름 만들기

API 트리거 추가 및 REST 엔드포인트 호출

API 트리거 트리거를 추가하려면 다음 단계를 수행합니다.
  1. Google Cloud 콘솔에서 Application Integration 페이지로 이동합니다.

    Application Integration으로 이동

  2. 탐색 메뉴에서 통합을 클릭합니다.

    Google Cloud 프로젝트에서 사용할 수 있는 모든 통합이 나열된 통합 목록 페이지가 나타납니다.

  3. build-cicd 통합을 선택합니다.

    통합 편집기 페이지에서 통합이 열립니다.

  4. 통합 편집기 탐색 메뉴에서 트리거 > API 트리거를 클릭하여 트리거를 추가합니다.
  5. 통합 편집기 탐색 메뉴에서 태스크 > REST 엔드포인트 호출을 클릭하여 태스크를 추가합니다.
  6. API 트리거 요소의 제어 지점에 마우스를 가져간 뒤 클릭한 다음 REST 엔드포인트 호출 태스크 요소의 제어 지점으로 선을 드래그하여 API 트리거 요소에서 REST 엔드포인트 호출 요소로 에지 연결을 추가합니다.

구성 변수 만들기

구성 변수를 만들려면 다음 단계를 따르세요.
  1. 통합 편집기 탐색 메뉴에서 (전환 패널)를 클릭하여 변수 창을 불러옵니다.
  2. +만들기를 클릭합니다.
  3. 변수 만들기 창에서 다음을 수행합니다.
    1. 이름url을 입력합니다.

      Application Integration은 구성 변수에 `CONFIG_ 프리픽스를 추가합니다. API를 사용하여 통합에 구성 변수를 추가하려면 구성 변수에 `CONFIG_CONFIG_VARIABLE_NAME` 형식을 사용합니다. 통합 다운로드 및 업로드 방법은 통합 업로드 및 다운로드를 참조하세요.

    2. 변수 유형으로 구성 변수를 선택합니다.
    3. 데이터 유형에서 문자열을 선택합니다.
    4. 만들기를 클릭합니다.

      구성 변수가 변수 창에 나타납니다.

  4. 2~3단계를 반복하여 다음 구성 변수를 추가합니다.
    • 이름: connection_name
    • 변수 유형: Config Variable
    • 데이터 유형: String

REST 엔드포인트 호출 추가 및 구성

구성 변수를 만들려면 다음 단계를 따르세요.
  1. 통합 편집기에서 REST 엔드포인트 호출 태스크를 클릭하여 태스크 구성 창을 엽니다. 다음 작업을 수행합니다.
    1. 태스크 입력 섹션을 펼칩니다.
    2. 엔드포인트 기준 URL에서 변수를 클릭하고 $`CONFIG_url`$를 추가합니다.

커넥터 태스크 추가 및 구성

  1. 통합 편집기 탐색 메뉴에서 태스크 > 커넥터를 클릭합니다.
  2. 커넥터 구성을 클릭합니다.
  3. 리전 목록에서 Pub/Sub 커넥터를 만든 리전을 선택합니다.
  4. 연결 필드에서 이전 단계에서 만든 Pub/Sub 커넥터를 선택합니다.
  5. 유형 섹션에서 작업을 선택합니다.
  6. 항목/작업 설정 섹션의 작업에서 publishMessage를 선택합니다.
  7. 기본값에서 구성 변수의 기본값을 추가합니다.
  8. 만들기를 클릭합니다.
  9. 커넥터 태스크 구성 창에서 연결 세부정보 섹션을 펼쳐 다음 필드를 업데이트합니다.
    1. 연결 이름 필드에서 변수를 클릭하고 $`CONFIG_connection_name`$를 선택합니다.

데이터 매핑 태스크 추가

  1. 통합 편집기 탐색 메뉴에서 태스크 > 데이터 매핑을 클릭합니다.
  2. REST 엔드포인트 호출 요소의 제어 지점에 마우스를 가져간 뒤 클릭한 다음 데이터 매핑 태스크 요소의 제어 지점으로 선을 드래그하여 REST 엔드포인트 호출 요소에서 데이터 매핑 요소로 에지 연결을 추가합니다.
  3. 데이터 매핑 요소의 제어 지점에 마우스를 가져간 뒤 클릭한 다음 커넥터 태스크 요소의 제어 지점으로 선을 드래그하여 데이터 매핑 요소에서 커넥터 요소로 에지 연결을 추가합니다.
  4. 데이터 매핑 태스크 구성 창에서 데이터 매핑 편집기 열기를 클릭합니다.
  5. REST 엔드포인트 호출 태스크의 출력 변수를 커넥터 태스크의 입력 변수에 매핑합니다.

통합 게시

통합을 게시하려면 다음 단계를 따르세요.
  1. 통합을 게시하려면 통합 편집기 툴바에서 게시를 클릭합니다.

    통합 게시 대화상자가 나타납니다.

  2. 통합 게시 대화상자에서 다음 구성 변수의 값을 입력합니다.
    1. url: 엔드포인트 URL 이름을 입력합니다.
    2. connection_name: 이전 단계에서 만든 Pub/Sub 커넥터의 이름을 입력합니다.
  3. 게시를 클릭합니다.
  4. 통합이 성공적으로 게시되면 게시된 통합의 실행 로그를 보고 검사할 수 있습니다. 로그를 보려면 통합 편집기의 툴바에서 로그를 클릭합니다.

환경 간 통합 승격

환경 간 통합을 승격하려면 Application Integration APIIntegration Connectors API와 상호작용할 수 있는 오픈소스 도구인 integrationcli 도구를 사용하면 됩니다. 이 도구를 사용하면 통합, 인증 구성 등의 통합 항목을 관리할 수 있습니다. 통합을 위한 스캐폴드를 생성하고 스캐폴드에서 생성된 변경사항을 적용하는 방법에 대한 자세한 내용은 커뮤니티 블로그의 integrationcli 소개를 참조하세요.

또한 Jenkins, GitLab, Cloud Build 등을 사용하여 DevOps 파이프라인을 설정하여 환경 간에 변경사항을 승격할 수도 있습니다. 자세한 내용은 Cloud Build와 통합을 참조하세요.

integrationcli를 사용하지 않으려면 새 프로젝트에 통합을 수동으로 다운로드하고 업로드하면 됩니다. 현재는 다운로드할 수 없으므로 새 프로젝트에서 커넥터를 수동으로 만들어야 합니다. 새 환경에서 통합을 게시하면 Application Integration을 사용하여 구성 변수의 값을 입력할 수 있습니다.

다음 단계