Home Travis CodeDeploy 연동 (3)
Post
Cancel

Travis CodeDeploy 연동 (3)


CodeDeploy란?

Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스다.

이전 S3연동에서 업로드한 배포파일을 CodeDeploy를 통해 ec2서버에 전송 할 수 있다.


1. IAM 역할 추가

  1. IAM -> 역할만들기
    AWS서비스 체크
    EC2 체크 Travis
  2. 아래 권한 추가 Travis
  3. 이름 지정 Travis
  4. EC2 보안 IAM역할 지정 Travis Travis

2. EC2 CodeDeployAgent 설치

  1. EC2에 접속해서 명령어 입력
    1
    
    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

  2. install 파일에 실행 권한 추가
    1
    
    chmod +x ./install
    
  3. install 파일로 설치 진행
    1
    
    sudo ./install auto
    

    TIP

    설치중 ruby:No such file or directory 와 같은 에러가 발생한다면 sudo yum install ruby로 루비를 설치하면 됨

  4. 설치가 끝났으면 Agent가 정상적으로 실행되고 있는지 상태 검사
    1
    
    sudo service codedeploy-agent status
    

    아래와 같이 running 메시지가 출력되면 정상
    The AWS CodeDeploy agent is running as PID ****


3. CodeDeploy 권한 생성

IAM -> 역할만들기
사용사례 CodeDeploy지정 Travis CodeDeploy는 권한이 하나밖에 없기에 바로 생성하면 된다. Travis 이름 지정 Travis


4. CodeDeploy 생성

  1. CodeDeploy 어플리케이션 생성
    컴퓨팅 플랫폼 : EC2/온프레미스 Travis

  2. 배포그룹 생성 Travis Travis Travis

5. Travis, S3, CodeDeploy연동

  1. 아래 배포경로 생성
    1
    
    mkdir ~/app/step2 && mkdir ~/app/step2/zip
    

    Travis

  2. appstec.yml 파일생성
    CodeDeploy연동은 appspec.yml파일로 세팅한다. -> 최상위 경로에 생성

    1
    2
    3
    4
    5
    6
    7
    
        ---
        version: 0.0
        os: linux
        files:
        - source: /
            destination: /home/ec2-user/app/travis/build
            overwrites: yes
    
  3. .travis.yml 파일 CodeDeploy설정 추가
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
        - provider: codedeploy
        access_key_id: $AWS_ACCESS_KEY 
        secret_access_key: $AWS_SECRET_KEY
        bucket: traivs-bucket #S3버팃명
        key: travis.zip #배포파일명
        bundle_type: zip #배포파일 확장자
        application: travis-project #애플리케이션명
        deployment_group: travis-group #배포그룹명
        region: ap-northeast-2
        wait-until-deployed: true
        on:
            all_branches: true
    
  4. CodeDeploy 배포, EC2 배포파일 확인 Travis Travis
This post is licensed under CC BY 4.0 by the author.
Contents