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
'인프라 > GCP' 카테고리의 다른 글
gcp vm인스턴스 생성 및 워드프레스 최저가로 구축하기 (8) | 2024.06.08 |
---|---|
firebase hosting 에 vue 프로젝트 배포하기 (0) | 2024.03.25 |
[GCP] cloud sql 인스턴스 만들기 (0) | 2024.01.30 |
[GCR] google cloud docker image 저장 (cloud build, Artifact Registry) (1) | 2024.01.26 |
Google Cloud Platform(GCP) 시작하기 (0) | 2024.01.25 |