1. 개요
- 일시 및 장소 : 11.17.(수) 15:00 ~ 21:30, 게더타운
- 참여자 : 전원
- 목적 : CI/CD 구축 및 배포 자동화
- 회의 중요도 : 중
2. 고려 사항
2.1. nCloud 서버 구축 및 배포
- 서버 인스턴스 몇 개 만들지?
- 2개
- 하나의 인스턴스에서 두 서버를 같이 실행할 수 있음
- web server + api server
- crontab server
- 3개
- web server와 api server를 분리해서 안정성을 높일 수 있음
- web server
- api server
- crontab sever
- 우선 하나에서 진행
- nginx 설정
- 설치
- ipv4 80번 포트로 접속
- default 파일의 ipv6 80번 포트는 주석 처리
- nodejs 설치 및 설정
- git 클론
- dev 브런치 사용
- yarn 설치 : npm install -g yarn
- 배포 확인
- FE
- 프로젝트 client에서 빌드하기
- usr/share/nginx/html에 client 빌드 파일 넣기
- BE
2.2. Github Actions로 CI/CD 구현
2.2.1. 사용 이유
- CI/CD는 배포 관련된 작업 시간을 줄여줘 상대적으로 적은 프로젝트 기간에 도움이 됨
- Jenkins는 CI/CD 구현을 위한 러닝 커브가 많이 소요되는데, Github Actions는 상대적으로 진입 장벽이 낮음
- 팀원들이 CI/CD에 대한 사전 지식이 적어 쉽게 사용할 수 있음
- 프로젝트 기간이 짧기 때문에 빠르게 배워서 사용할 수 있음
2.2.2. 구현 전 고려 사항
- CI
- 현재 test 코드가 없고, 단순히 자동 push 기능으로만 사용함
- 다만, 개발 환경에서 배포 환경을 이동했을 때 제대로 병합되는지 확인 가능
- CD
- 개발 환경과 배포 환경의 Node.js, Ubuntu 버전을 통일
- nCloud와 연동