배포 자동화를 위해 aws EC2에 CodeDeploy Agent를 설치를 시도했다. 다운받은 install
파일을 sudo ./install auto
명령어를 통해 실행시켰지만 다음과 같은 에러 메세지가 발생했다.
/usr/bin/env: ruby: No such file or directory
https://sarc.io/index.php/aws/1875-error-aws-codedeploy-agent
에러 메세지를 통해서도 쉽게 알 수 있듯이 EC2에 ruby가 설치되어 있지 않아 발생한 문제였다. 해당 게시글처럼 sudo apt-get install ruby
는 설치되지 않았고
sudo yum install ruby
를 통해 ruby를 설치하고 AWS CodeDeploy Agent를 설치할 수 있었다.
Travis CI를 통해 테스트, 빌드의 자동화까진 성공한 시점이었다. 이제 빌드되어진 jar파일을 AWS S3에 업로드하고, 이를 이용하여 AWS CodeDeploy가 배포까지 자동화하는 것을 진행하고 있었다.
하지만 위와 같이 Travis CI 에서 Oops, It looks lie you tried to write to a bucket that isn't yours or doesn't exist yet....
이라면서 failed to deploy
메세지를 내뿜고 있었다.
bucket도 내것이고,, 존재하기도 했기에 무슨일인가 싶어 바로 구글링을 진행했다.
https://stay-hungry.tistory.com/16
상당히 블로그 포스트들이 많았다. 퍼블릭 엑세스 차단 설정
의 문제였다. AWS S3 좌측에
이렇게 이 계정의 퍼블릭 엑세스 차단 설정
메뉴가 보이길래 이거구나! 하고 해당 페이지에 들어가 차단 설정을 조정했다.
하지만, 나는 조금 더 꼼꼼히 살펴보고 읽어보아야 했다..
차단을 비활성했지만
같은 오류가 계속해서 반복되었다.
이유를 모른체 계속해서 구글을 뒤져보았지만, 모두 같은 내용의 글이었다. 퍼블릭 엑세스 차단 설정
을 조작하라
그러던 와중.. 어떤 블로그 포스팅에서 해당 설정을 원하는 버킷에 들어가 조작하는 캡쳐를 발견했다.
설마..하면서 다시 나의 aws를 확인해본 결과
나는 특정 버킷
의 차단 설정을 조작한 것이 아니라 계정
의 설정을 해제한것이었다
ㅎㅎ,,
어떻게 aws에 배포, 테스트,빌드,배포의 자동화까지 진행되었다!
이제 무중단 배포를 시도해볼 생각이다!