클라이언트 배포 자동화에 이어 서버 배포 자동화 구성
시작부터 무서운 빨간색이 날 반기고 있다...
appspec.yml에서 경로가 잘못됐다고 문득 떠올라서 수정을 하러가자!!
경로 수정 후 파이프라인 다시 만들고 재실행
.
.
.
아직 빨갛다...
다음과 같은 에러 발생할 경우 2가지를 체크해보자
"CodeDeploy agent was not able to receive the lifecycle event. Check the CodeDeploy agent logs on your host and make sure the agent is running and can connect to the CodeDeploy server."
1. CodeDeploy 역할이 인스턴스에 부여되어있는지 확인
2. CodeDeploy의 Agent가 설치되고 실행되어있는지 확인
sudo service codedeploy-agent status
codedeploy-agent가 없는 것이 문제였다 >> 공식문서로 찾아보자
구글링해본 결과 Ubuntu 22.04를 사용할 때 codedeploy-agent가 생기지 않는 경우가 있다고 한다.
그래서 버전을 찾고 설치해보면
이런 에러를 또 만나게 된다.
Ruby의 버전이 3.x 버전이라 2.x 버전이 필요하다고 한다.
rvm이나 rbenv로 ruby버전을 바꿔서 사용할 수도 있겠지만 다른 방법을 사용하고자 한다.
다음은 기존의 ruby 2.x 버전을 필요로 하는 .deb를 3.x를 쓸 수 있게 리패키징하는 방법이다.
sudo apt-get update
sudo apt-get install ruby-full ruby-webrick wget -y
cd /tmp
wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.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
systemctl list-units --type=service | grep codedeploy
sudo service codedeploy-agent status
다 완료하고 Status를 확인하면
깔끔하게 성공했다.
P.S. 처음 에러시 고쳤던 appspec.yml의 Destination의 경로가 굳이 로컬에 git clone 하거나 만들어놓은 디렉토리와 같지 않아도 된다고 한다. 어차피 새로 만들어질거라... 하지만 깔끔하고 보기 좋으니까 나는 일치시키는 걸로!
'DevOps > AWS' 카테고리의 다른 글
서버 배포 자동화 (0) | 2023.01.16 |
---|---|
클라이언트 배포 자동화 (0) | 2023.01.16 |
AWS 클라우드 서비스 (0) | 2023.01.16 |
클라이언트 배포 자동화 - 트러블 슈팅 (0) | 2023.01.13 |
AWS 트러블 슈팅 (0) | 2023.01.10 |