일단 아래의 블로그를 토대로 진행했다.
https://bcp0109.tistory.com/363
CI/CD를 구축하면서 많은 좌절을 했다. 첫날엔 12시간을 CI/CD에만 몰두했고 그 다음날 RDS연동 또 그 다음날은 CD에 문제가 있어서 골머리를 썩혔다.
첫날의 트러블 슈팅은 내가 아무런 정보 없이 처음 접해본 것이기에 일어난 일이 대부분이었다.
22.04에서는 Ruby3.X버전이 깔리는데 2.X버전으로 깔지 않으면 제대로 실행되지 않음
아래 블로그를 참고
https://mumomu.tistory.com/126
sudo apt-get install ruby-full ruby-webrick wget -y
cd /tmp
wget https://aws-codedeploy-us-east-1.s3.us-east-1.amazonaws.com/releases/codedeploy-agent_1.3.2-1902_all.deb
mkdir codedeploy-agent_1.3.2-1902_ubuntu22
dpkg-deb -R codedeploy-agent_1.3.2-1902_all.deb codedeploy-agent_1.3.2-1902_ubuntu22
sed 's/Depends:.*/Depends:ruby3.0/' -i ./codedeploy-agent_1.3.2-1902_ubuntu22/DEBIAN/control
dpkg-deb -b codedeploy-agent_1.3.2-1902_ubuntu22/
sudo dpkg -i codedeploy-agent_1.3.2-1902_ubuntu22.deb
sudo systemctl list-units --type=service | grep codedeploy
sudo service codedeploy-agent status
An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied
Error: Process completed with exit code 255.
터미널에 ps -ef를 입력했을 때 정작 중요한 jar 파일이 돌아가지 않고 있었다. 이유는 간단했다 실행되지 않는 프로젝트를 서버에
올렸기 떄문에 서버에서도 jar 파일을 실행시키지 못한 것이었다. 수정 후 올리니 정상작동하였다.
DB에 접근하는 api를 실행시켰을 때 서버가 멈추는 현상이 있었다.
당연하다. 우리는 개인 로컬 파일에만 db정보를 가지고 있었고 서버에는 올려주지 않은 것이다.
하지만 서버에 그대로 올려서 DB정보를 노출하는 것은 위험하다. 때문에 git에 secrets를 활용해
인코딩된 DB 정보를 올리고, YML 파일에 해당 문서가 비밀문서임을 지정해서 서버에 같이 올려줬다.
참고 : https://mumomu.tistory.com/132?category=1017703
PR에 CI/CD가 반응해서 재배포를 하는데 PR을 올릴 때 마다 CD하는 과정에서 멈추는 현상이 있었다.
정확한 원인은 모르지만 전 날 잦은 재배포로 인해 codedeploy-agent에 오류가 생긴 것 같다.
아래 명령어를 통해 해결했다.
참고 : https://lemontia.tistory.com/1080
sudo service codedeploy-agent restart