Cloud Source Repositories에서 코드 변경 시 알림 받기

이 페이지에서는 Cloud Source Repositories에 Pub/Sub 알림을 설정하는 방법을 보여줍니다.

시작하기 전에

  1. Cloud Source Repositories에서 코드 저장소 만들기의 단계를 완료합니다.

    빠른 시작을 완료하면 App Engine에 배포할 수 있는 앱이 준비됩니다.

  2. Compute Engine API를 사용 설정합니다.

    이 빠른 시작에서는 Compute Engine 기본 서비스 계정을 사용하여 Pub/Sub에 메시지를 게시합니다.

    조직 정책 제약조건 constraints/iam.automaticIamGrantsForDefaultServiceAccounts가 사용되는 경우 Compute Engine 기본 서비스 계정에 roles/editor를 수동으로 부여해야 합니다.

    Compute Engine API 사용 설정

  3. Pub/Sub API를 사용 설정합니다.

    Pub/Sub API 사용 설정

Pub/Sub 주제 만들기

Cloud Source Repositories 프로젝트 또는 저장소에 대한 알림을 받으려면 Pub/Sub 주제를 만들어야 합니다. Google Cloud Console 또는 Google Cloud CLI를 사용하여 주제를 만들 수 있습니다.

콘솔

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

    주제 페이지로 이동

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

  3. 이름 필드에 csr-test을 입력합니다.

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

    주제 세부정보 페이지가 열립니다.

gcloud

  1. 터미널 창에서 Google Cloud 프로젝트 ID가 포함된 변수를 설정합니다. 저장소가 포함된 Google Cloud 프로젝트와 동일한지 확인합니다.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. 다음 명령어를 실행합니다.

    gcloud pubsub topics create projects/$PROJECT_ID/topics/csr-test
    

Pub/Sub 구독 만들기

가져오기, 내보내기 또는 BigQuery 구독을 만듭니다.

Pub/Sub 구독을 통해 구독자는 저장소 주제에서 메시지를 받을 수 있습니다.

콘솔

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

    주제 페이지로 이동

  2. 방금 만든 Google Cloud 프로젝트 주제의 이름을 클릭합니다.

  3. 구독 탭에서 구독 만들기를 클릭합니다.

    주제에 구독 추가 페이지가 열립니다.

  4. 구독 이름에 csr-subscription-test를 입력합니다.

  5. 전송 유형가져오기로 설정되어 있는지 확인합니다.

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

    주제 세부정보 페이지가 열립니다. 구독이 구독 탭에 표시됩니다.

gcloud

터미널 창에서 다음 명령어를 실행합니다.

gcloud pubsub subscriptions create csr-subscription-test --topic=csr-test

주제와 저장소 연결

Google Cloud CLI를 사용하여 Pub/Sub 주제를 특정 저장소와 연결합니다.

gcloud source repos update hello-world --add-topic=csr-test

다음과 유사한 출력이 표시됩니다.

name: projects/csr-quickstart-test/repos/hello-world
pubsubConfigs:
  projects/csr-quickstart-test/topics/csr-test:
    messageFormat: JSON
    serviceAccountEmail: 604898361241-compute@developer.gserviceaccount.com
    topic: projects/csr-quickstart-test/topics/csr-test
url: https://source.developers.google.com/p/csr-quickstart-test/r/hello-world

hello-world 저장소에 변경사항 푸시

Pub/Sub 주제 및 구독이 설정되었으면 변경사항을 hello-world 저장소로 푸시합니다. 이렇게 변경하면 작업 중에 알림을 볼 수 있습니다.

  1. 터미널 창에서 hello-world 저장소로 이동합니다.

    cd hello-world
    
  2. main.py 파일을 다음과 같이 수정합니다.

    #!/usr/bin/env python
    
    import webapp2
    
    class MainHandler(webapp2.RequestHandler):
        def get(self):
            self.response.write('Hello, Cloud Pub/Sub!')
    
    app = webapp2.WSGIApplication([
        ('/', MainHandler)
    ], debug=True)
    
  3. Git이 커밋할 수 있도록 파일을 추가합니다.

    git add main.py
    
  4. 파일을 커밋합니다.

    git commit -m "Update main.py to test Cloud Pub/Sub notifications"
    
  5. 파일을 Cloud Source Repositories로 푸시합니다.

    git push origin master
    

알림 보기

변경사항을 저장소로 푸시하면 Pub/Sub 알림이 전송됩니다. 이 알림을 보려면 다음 명령어를 입력하세요.

gcloud pubsub subscriptions pull csr-subscription-test

삭제

Pub/Sub 리소스를 삭제하려면 다음 단계를 따르세요.

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

    주제 페이지로 이동

  2. 영구 삭제할 주제의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. 나머지 구독을 삭제하려면 각 구독을 표시한 다음 삭제를 클릭합니다.

생성한 저장소를 삭제하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Cloud Source Repositories의 모든 저장소 페이지를 엽니다.

    Cloud Source Repositories 열기

  2. 삭제하려는 저장소 위에 마우스 포인터를 놓고 설정을 클릭합니다.

    일반 설정 페이지가 열립니다.

  3. 이 저장소 삭제를 클릭합니다. .

    저장소 삭제 대화상자가 열립니다.

  4. 삭제할 저장소의 이름을 입력합니다.

  5. 삭제를 클릭합니다.

다음 단계