<목차>
1. Github action
2. GCP
참고 자료: Cloud란? GCP에서 인스턴스, 버킷 만들기
GCP를 사용해 streamlit 실행 및 github action을 통한 CI/CD 예제
Github Action을 사용한 CI/CD
.yml 파일 분석하기
Google Cloud Platform
Streamlit 실행 예제를 살펴보자
ssh를 클릭하고 브라우저 창에서 열기 클릭
Secret key 등록
Secret key는 아래처럼 사용 가능하다
브라우저 창에 아래와 같은 명령어 입력
git config --global credential.helper store : Github Action에서 추가 인증없이 사용하도록 설정
Fork한 Repo Clone git clone ~.git
필요한 프로그램 설치
sudo apt-get update
sudo apt-get install python3.8-venv -y
Part2의 CI/CD 폴더로 이동
cd Boostcamp-AI-Tech-Product-Serving/part2/04-cicd/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
아래 코드로 Streamlit 실행(아래 사진 참고)
nohup streamlit run app.py --server.runOnSave true
& runOnSave : 파일이 변경될 경우 자동으로 다시 실행(Re Run)
nohup으로 Background 실행
+ 접근이 되지 않는다면 방화벽 이슈 때문임
아래는 방화벽 이슈 해결 방법
Computer engine 페이지에서 인스턴스 이름(여기서는 boostcamp) 클릭 후 네트워크 태그에 streamlit 추가한 후 저장
다시 원래 사이트에 들어가면 접근 가능해짐
Google Cloud + Github Action을 통한 배포 자동화
이 예제에서는 이미 workflows 폴더에 파일들이 저장되어 있음
deploy_ssh.sh 쉘 스크립트 실행 (내용 수정해서 push하면 실행 가능해짐)
git pull 받은 후, 라이브러리 설치
Streamlit은 runOnSave true로 실행해서 바로 rerun
인스턴스를 중지했다가 다시 실행할 경우 IP가 변경됨
현재 IP는 임시로 할당했기 때문
-> 고정 IP로 설정하면 인스턴스 중지 후 다시 실행해도 그대로 유지!
인스턴스를 클릭하고 네트워크 인터페이스를 보면 외부 IP에 임시를 발견할 수 있음
대시보드 - VPC 네트워크 - 외부 IP 주소로 이동
예약버튼 클릭 시 고정 IP 생성됨.
다음에서 사용중: 없음일 경우 고정 주소 해체(삭제) 실행!
'AI TECH' 카테고리의 다른 글
Fast API (2) (0) | 2023.01.14 |
---|---|
Fast API (1) (1) | 2023.01.12 |
Passage Retrieval (0) | 2022.12.20 |
MRC (0) | 2022.12.20 |
언어모델 실습 (1) | 2022.11.24 |