ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS EC2 - CodeDeploy 연동 설정
    IT/SpringBoot&AWS 2022. 5. 14. 16:42

    출처 : unsplash

     

    참고 도서 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스

     

    기본 흐름

    - repository인 github에 소스가 커밋/푸시되면, github이 Travis CI로 트리거를 걸어 build, test, notify(slack, email, etc ..) 완료하게 된다.

    - build 결과인 jar 파일은 일종의 파일 서버 역할을 하는 S3로 전달

    - 이후 실제 배포를 CodeDeploy를 통해 배포 요청을 하면 S3에 저장된 jar 파일을 EC2 서버로 배포하게 된다.

    출처 : 도서

     

    각 시스템 간 연동이 필요한데

    * github - Travis CI 간 연동

       ㄴ github 에 .travis.yml 설치하므로써 트리거를 걸어줌

    * Travis CI - AWS S3 간 연동

       ㄴ .travis.yml에 빌드 후 jar 파일을 S3로 올릴 수 있도록 설정함

       ( 사전에 S3 버킷을 생성하고 .travis.yml 에는 S3에 접속하기 위한 ACCESS_KEY 및 SECRET_KEY를 등록함 )

    * CodeDeploy - EC2 간 연동

       ㄴ EC2 에 CodeDeploy 가 배포를 할 수 있도록 역할 등록 (using IAM)

       ㄴ EC2 에 CodeDeploy 연동을 위한 에이전트 설치

       ㄴ CodeDeploy 생성

           앗, 그런데 에이전트 설치 시 아래와 같은 메시지가 나타난다.

    [ec2-user@ip-172-31-45-74 ~]$ aws s3 cp s3://aws-codedeploy-ap-northeast-2/latest/install . --region ap-northeast-2
    download: s3://aws-codedeploy-ap-northeast-2/latest/install to ./install
    [ec2-user@ip-172-31-45-74 ~]$ ll
    합계 20
    drwxrwxr-x 3 ec2-user ec2-user    93  5월 13 21:47 app
    -rw-rw-r-- 1 ec2-user ec2-user 17482  5월 15  2021 install
    [ec2-user@ip-172-31-45-74 ~]$ chmod +x ./install
    [ec2-user@ip-172-31-45-74 ~]$ ll
    합계 20
    drwxrwxr-x 3 ec2-user ec2-user    93  5월 13 21:47 app
    -rwxrwxr-x 1 ec2-user ec2-user 17482  5월 15  2021 install
    [ec2-user@ip-172-31-45-74 ~]$ sudo ./install auto
    /usr/bin/env: ruby: No such file or directory

    위 에러는 ruby 가 설치되어 있지 않아 발생한 것으로.. ruby를 설치해주면 된다.

    sudo yum install ruby

     

     

     

    참고 URL

    - https://meorimori.tistory.com/89

    - https://seongbindb.tistory.com/6

    - https://coder-question-ko.com/cq-ko-blog/27700

     

    댓글

Designed by Tistory.