요약 : Github Actions 로 CI 진행, ssh 로 deploy.sh 보낸 후 실행
다른 프로그램의 도움 없이 Github Actions 만을 이용해서 간단하게 CI/CD 를 적용해보았다.(배포를 위한 서버 구축 없이 진행) 전체적인 흐름은 Github Actions 에서 Build (+ Test) 후 ssh 를 이용하여 배포 스크립트를 서버로 보내 실행한다. 배포 스크립트에는 Build 및 자바 프로젝트를 실행하는 코드가 작성되어 있다.
yml 파일
SSH 접속
appleboy/ssh-action@master
이용
username
: GCP 서버를 구축한 계정의 아이디host
: 서버 IPport
: SSH 접속 포트 (default 22)key
: SSH private keypassphrase
: SSH private key 의 비밀번호GCP 에서는 별도의 SSH private key 를 제공하지 않기 때문에 따로 생성해야 한다.
ssh-keygen -t rsa -f ~/.ssh/rsa-gcp-key -C "[email protected]"
여기에서 입력한 비밀번호를 yml 파일의 passphrase
에 입력한다.
rsa-gcp-key
: private keyrsa-gcp-key.pub
: public key생성한 public key 는 GCP 에 등록한다.
Compute Engine
- 메타데이터
에 접속한다.수정
버튼을 클릭하여 ssh 란에 public key 를 등록한다.생성한 private key 는 Github Secret 정보에 추가하여 yml 파일에서 불러온다.
외부에서 접속이 가능하도록 스프링 프로젝트의 기본 포트인 8080
을 열어준다.
VPC 네트워크
- 방화벽
에 접속한다.방화벽 규칙 만들기
버튼을 클릭하여 새로운 포트를 열어준다.소스 IPv4 범위
에서 모든 외부 접속이 가능하도록 0.0.0.0/0 을 추가한다.