목록개발/GCP (3)
이번 포스팅은 CI/CD를 함께 적용한 workflow에 대해 다룬다. 이전 포스팅에서는 CD에 대해 다뤘으니, 필요한 내용은 참고 바람 ^_^ 2023.05.27 - [개발/GCP] - Github-actions 사용기 (with GCP) 내가 CI 과정 중 구현하려고 했던 것은 다음과 같다. push가 진행될 시, 이에 대한 테스트 코드를 실행하여 정상적으로 구동되는지 확인 후, CD과정을 진행하는 것. 작성한 workflows name: githubaction-cd on: push: branches: [ "master" ] jobs: ci :// job에 새로운 요소 추가 name : gitaction-test runs-on : ubuntu-latest // ubuntu 컴퓨터 빌리기 steps :..
github-actions를 통해 GCE 인스턴스를 자동화 배포했던 과정을 포스팅한다. github-actions github-actions(이하 깃허브 액션)은 빌드/테스트/배포를 자동화할 수 있는 CI/CD 플랫폼이다. 구동방식은 다음과 같다. 특정 조건(events)에 따라, 원하는 작업 흐름들(workflows)를 실행시킨다. 이후 workflows내에 존재하는 작업(jobs)을 단계(steps)에 따라 명령어를 수행한다.(actions) event / workflows / jobs / steps / actions 에 대해 events - 특정 이벤트 (push, merge, issue) 발생 시 workflow를 실행시키는 역할 - workflow 실행을 트리거하는 특정 활동이나 규칙을 의미하기..
오늘은 github-actions을 사용하여 무중단 배포를 연습해보기 위해, 인스턴스 그룹에 부하분산기를 부착하는 과정 중 PROVISOINING이 17시간 째 진행되었던 문제를 해결하는 과정에 대해서 다룬다. (캡처본은 5시간이지만, 사실 다음날 아침까지 안돼서 17시간 ㅠ.ㅠ) SSL 부착 전까지 했던 과정은 다음과 같다. - 서버 VM 인스턴스 배포 (도커 설치 & env 설정) - 방화벽 설정 - mySQL 인스턴스와 서버 인스턴스 연결 - VPC 페어링 (가상 네트워크를 구축하여, 외부 IP로 DB에 직접 접속하지 못하게 함) - DNS 연결 - 인스턴스 그룹 설정 (다수의 가상머신 관리와, 안정적 서비스 제공) - 로드 밸런서 설정 (* 문제가 일어난 곳) 관련 DOCS를 살펴본 결과 문제가 ..