Circleci+AWS-Codeploy를 통해 Stage 환경 등을 자동으로 디버깅

하고 싶은 일


Circleci+AWS-Codeploy를 통해 Stage 환경 등을 자동으로 디버깅하기를 원합니다.

AWS-Codedeploy


현재 AWS-Codedeploy는 다음 두 가지 방법으로 디버깅을 수행할 수 있습니다.
  • S3으로 압축을 푸는 소스 코드
  • Giithub의 원본의commiit를 지정하여 산열하고 펼치기
  • CircleaCI에서 AWS-Codeploy라고 하면 대부분의 경우 S3 방식을 사용한다.
    그나저나 본가의doc도 그렇습니다.다른 qita 보도도 대부분
    https://circleci.com/docs/1.0/continuous-deployment-with-aws-codedeploy/
    여기서 S3에 고정된 번거로운 작업을 제거하고Giithub+에서 번호를 제출하여 디버깅하는 방법으로 진행합니다.

    AWS-Codeploy에서(예: ConsoleUI)

  • codeploy-agent를 실행할 서버에 설치합니다.
  • 응용 프로그램을 만듭니다.
  • appspec.yml에서 depro 명령 등을 준비합니다.
  • Giithub을 통해 업데이트할 수 있는 프레젠테이션을 제작합니다.
    ※ 설명에 편리하도록 응용명칭appA-name, 추출팀appA-deploy-group을 설정합니다.
  • e.g.
    aws deploy create-deployment --application-name appA-name --deployment-group-name appA-deploy-group --github-location repository="your/repository",commitId="0a684afc0c38e97f35023e404cff543d825f43b4"
    
    CLI가 작동하지 않으면 WebUI에서 데모를 만들어 시도해 보십시오.

    CircleaCI

  • AWS IAM 롤러를 제작한다.(Codedeploy 정책 첨부)
  • 프로그램을 풀 수 있는 사용자와 연결됩니다.

  • 발행aws_access_key_idaws_secret_access_key.
  • CircleaCI의 WebUI를 통해 설정합니다.사진 참조.

  • FYI: https://circleci.com/docs/1.0/continuous-deployment-with-aws-codedeploy/

    config.yml 만들기


    그리고 .circleci/config.yml부터 aws-cli명령을 내리면 됩니다.
    version: 2
    jobs:
      build:
          〜省略〜
      deploy:
        docker:
          - image: cdssnc/aws-cli
        steps:
          - run:
              name: "Set AWS region"
              command: aws configure set region ap-northeast-1
          - run:
              name: "Deploy Staging"
              command: aws deploy create-deployment --application-name appA-name --deployment-group-name appA-deploy-group --github-location repository="your/repository",commitId="$CIRCLE_SHA1"
    workflows:
      version: 2
      build_deploy:
        jobs:
          - build
          - deploy:
              requires:
                - build
              filters:
                branches:
                  only: master
    
    ※ region을 설치하지 않으면 오류가 발생할 수 있으므로 필수.
    이렇게 되면 마스터 지점에서 무엇을 합병한 경우
    circleacI에서 AWS-Codeploy를 실행하고 Stage 등을 자동으로 업데이트합니다.
    AWS-Codedeploy만 있다면 발판 서버가 필요 없기 때문에 안전성도 안전하기 때문에 추천합니다.
    끝.

    좋은 웹페이지 즐겨찾기