뉴스 분석 프로젝트 <news crawl><5>
프로젝트 개요 및 각 글들의 링크: https://namth.tistory.com/18
news crawl 단계의 마지막 단계이다.
배포에 필요한 dockerfile까지 작성이 완료되었으므로 GCP cloudrun에 배포를 하고자 한다.
현재 보유 중인 서버는 너무 작아서 docker image를 빌드를 할 수가 없고,
자동적으로 빌드 배포되는 것을 원해서 GCP build를 이용하기로 했다.
빌드 및 배포는 아래와 같이 동작한다.
- GitHub main브랜치에 push
- GCP build에서 해당 브랜치의 push 이벤트 발생 시 빌드 시작(cloudbuild.yaml)
- GCP build에서 빌드가 완료되면 GCP cloud run에 배포(cloudbuild.yaml)
GITHUB 트리거 등록
1. 클라우드 콘솔, build 진입
https://console.cloud.google.com/cloud-build/triggers?hl=ko&project=yourproject 와 같이 콘솔에 들어가게 되면
왼쪽 사이드바에 트리거라는 목록이 보인다.
2. 트리거 생성 화면 진입
트로거 목록을 클릭하면 트리거 만들기 버튼을 눌러준다.
3. 트리거 생성(정보 입력)
이제 트리거에 대한 정보를 넣어주면 되는데
트리거 정보
- 이름: 트리거의 이름
말 그대로 트리거의 이름으로 프로젝트의 리전(지역) 내에서 고유해야 한다. - 리전: 빌드가 진행되는 영역
빌드를 어느 지역에서 진행할지 선택 가능(서울: asia-northeast3)
이벤트 정보
GitHub 브랜치에 push시 빌드되는 것을 원했으므로 이벤트는 "브랜치로 푸시"로 선택했다.
4. GCP build - GitHub 연결(저장소 등록)
이제 GITHUB저장소와 연결을 해야 하는데 이벤트 밑 소스에서 저장소를 연결할 수 있다.
저장소를 누르고 "새 저장소 연결"을 눌러준다.(이미 트리거를 만든 상태여서 저장소와 연결이 되어있다.)
새 저장소 연결을 누르고 나면 오른쪽에 사이드바가 나온다.
GitHub저장소와 연결을 할 예정이기에 그대로 계속 버튼을 눌러준다.
인증단계의 경우 GitHub페이지에서 인증을 하게 된다.
인증을 마치게 되면 아래와 같이 GitHub 계정 칸이 채워 저 있으며, 저장소가 선택 가능해진다.
5. GCP build - GitHub 연결(브랜치 등록)
이제 저장소를 선택하고 PUSH이벤트 발생 시 빌드가 되길 원하는 브랜치를 선택하면 된다.
이번 트리거는 main브랜치에 PUSH이벤트가 발생이 빌드되기를 원했으므로 아래와 같이 설정했다.
정규식 반전과 자동완성을 이용하면 쉽게 원하는 브랜치의 표현식을 만들 수 있다.
6. GCP build 설정 파일 등록(cloudbuild.yaml)
이제 빌드 진행에 필요한 설정 파일들을 등록할 차례이다.
나의 경우 cloudbuild.yaml 파일을 통해 빌드를 진행했다.
GitHub저장소에 같이 업로드가 되어있으며, 위치는 프로젝트의 root 디렉토리에 위치해 있다.
따라서 구성은 아래와 같이 설정했다.
- 유형: cloud build
- 위치: 저장소
- cloud build 구성파일 위치: /cloudbuild.yaml
구성 파일의 경우 아래와 같다.
아는 한도 내에서 주석을 달아 놓았고, 그것만 바꾸어도 사용이 가능할 것 같다.
7. 트리거 생성
이제 남은 단계는 옵션 및 고급 설정이 남았다.
나 같은 경우에는 '빌드 실행 전에 승인 필요' 을 체크하여서 push이벤트 후 콘솔에서 승인하도록 설정하였다.(빌드 요금이 조금 비싸다.)
딱히 필요 없는 경우가 있어서 알아보지 않고 빈칸으로 두고 트리거를 생성했다.
옵션에 대한 자세한 설명은 아래 링크에 있다.
https://cloud.google.com/build/docs/automating-builds/create-manage-triggers#build_trigger
만들기를 누르고 생성이 되면 지정한 브랜치에 push 이벤트가 발생 시
yaml 파일을 바탕으로 빌드 및 배포가 시작된다.
번외. 빌드 승인
만약 트리거 옵션 중 '빌드 실행 전에 승인 필요' 옵션이 체크한 경우 GCP build 콘솔 기록들 중에서 상태가 아래처럼 생긴 기록이 생긴다.
해당 기록의 드랍다운 메뉴(오른쪽 끝 메뉴)를 눌러서 빌드를 승인할지 거부할지 정할 수 있다.
빌드 거부를 누르면 아래와 같이 거부 사유를 적을 수 있으며 거부 버튼을 마저 누르면 빌드가 거부된다.
빌드 승인을 누르면 거부와 같이 창이 뜨고 메시지를 적고 빌드를 승인할 수 있다.
8. 빌드 상태 확인
빌드 및 배포 상태를 확인하고 싶다면
가장 좋은 방법은 GCP console -> build에서 대시보드(기록)를 보면 확인이 가능하고
쉽고 편한 방법은 GitHub을 이용하는 방법이다.
아래와 같이 커밋 왼쪽에 표시가 되는데, 4가지의 상태를 표시해준다.
추가) GitHub 커밋 목록에 표시되는 상태들
GCP Build 공식 문서
https://cloud.google.com/build/docs/overview
# 2022.09.30 수정
'프로젝트 > 주식뉴스분석' 카테고리의 다른 글
AWS EC2 IP고정(탄력적IP) 및 도메인 등록 및 연결 (2) | 2022.09.28 |
---|---|
AWS EC2 인스턴스 생성 및 접속하기 (2) | 2022.09.26 |
크롤링, 감정분석 서버 작성 및 dockerfile 작성 (0) | 2022.09.23 |
결과 저장(GCP Storage, MongoDB) (0) | 2022.09.21 |
뉴스 제목 감정분석(sentiment analysis) (0) | 2022.09.20 |