반응형

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

반응형

+ Recent posts