ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GCR] github action 에 google cloud 배포 위한 IAM 등록
    인프라/GCP 2024. 1. 29. 18:34

    google cloud 에 어플리케이션을 배포하려면 CI/CD 도구가 필요하다.

    배포 도구로 github actions 를 통해 구글 클라우드에 어플리케이션을 배포하려면 IAM 이라는 서비스계정 인증절차가 필요한대 이에 대해 포스팅하려고 한다.

     

    Github Action 

     최상위 폴더에서 ./github/workflows 폴더에 .yml 파일을 넣어주면 된다. 이 떄 파일명은 상관없다.

     

    name: Google Cloud Auth
    
    on:
      push:
        branches: [ "master" ]
    
    jobs:
      build:
    
        runs-on: ubuntu-latest
    
        steps:
        - uses: actions/checkout@v3
        
        - name: Google Auth
          id: auth
          uses: 'google-github-actions/auth@v1'
          with:
            credentials_json: '${{ secrets.GCP_CREDENTIALS }}' 
            
        - name: set up cloud sdk
          uses: 'google-github-actions/setup-gcloud@v1'
    
        - name: "Use gcloud CLI"
          run: "gcloud info"

    위 처럼 github action 파일을 작성해주고, 위의 secrets 텍스트를 GCP IAM 서비스에서 발급 받으면 된다.

     

     

    구글 클라우드에 루트 계정이 있겠지만 다른 작업자 및 다른 서비스에서 구글 클라우드를 접근하게 하기 위해서는 IAM 서비스 사용을 해야한다.

    github action 처럼 외부 서비스에서 구글클라우드에 접근하게 하려면 

    서비스계정을 생성해야 한다.

     

    서비스계정 생성

    IAM 및 관리자 > 서비스 계정 

    계정ID 만 임의로 만들면 끝이다

    선택사항 기입할 필요없고 완료 버튼 누른면 완료

     

    서비스 계정을 생성하게 되면 리스트에 키 없음이라고 뜨는데, 여기 키를 생성해주게 되면 된다.

    해당 줄 맨 우측에 [키관리] 버튼 누르게 되면 키 페이지 로 이동된다.

     

    새 키 만들기 

    만들기 버튼을 하게되면 json 파일이 다운되는데, 여기서 이 파일의 json 전체를 복사해서

     

    github 변수 등록

    프로젝트의 settings > Secrets and variables 메뉴에서 Secrets 변수를 넣어주면 된다.

     

     

     

    https://cloud.google.com/iam/docs/service-accounts-create?hl=ko

    반응형

    댓글

Designed by Tistory.