TIL

s3 파일 자동 배포

Gisungcu 2021. 5. 10. 22:48

s3에 올라가 있는 파일을 감지해서 자동 배포

 

 

http://169.254.169.254/latest/meta-data/는 인스턴스의 메타데이터를 검색할 때 쓴다.

crontab실행 시에는 풀 경로를 적어줘야 해서 aws와 fuser 앞에 절대경로를 적어줘야한다.

 

aws cli를 사용했다. 

aws.amazon.com/ko/cli/

 

AWS 명령줄 인터페이스

aws-shell은 명령줄 셸 프로그램으로서, AWS 명령줄 인터페이스를 사용하는 새로운 사용자와 고급 사용자 모두에게 도움이 되는 편의 기능 및 생산성 기능을 제공합니다. 주요 기능은 다음과 같습

aws.amazon.com

 

코드를 보면 CK에 ls(파일 있는지 검사)를 담아서 없으면 종료하고

 

있으면 8080 포트에서 돌고 있는 프로세스를 종료시키고 fuser

jar파일을 cp해와서 nohup으로 실행시키고 rm으로 s3의 jar파일을 삭제시킨다.

 

 

단, 이름을 여기서 baseball로 정해줬기에 s3에 올릴 때는 이름을 통일해야 한다.

 

crontab을 통해 5분마다 위의 스크립트를 실행함

crontab -e로 열어서 작성

(git action 과 연동시)

crontab은 환경변수를 못 읽음 -> jasypt로 암호화를 못 품 -> 환경 변수를 클론탭 실행 시 등록

 

 

로컬에서 s3에 올릴때 이름을 바꿔서 올려준다.