CodeDeploy 시작(기본 설정, 기본 동작 확인)

8722 단어 CodeDeployAWS

1. 시작

  • OpsWorks의 Chef12 버전(사용자 정의 Layer)의 앱스(depro)는 사용자가 사용자 정의 디자인 식단을 만들어야 하기 때문에 문턱이 높다.CodeDeploy 대신 할 수 있을까요?

  • Deploy 레시피
    사용자 정의 Layer에 응용 프로그램을 제출하려면 사용자 정의 Deploy 레시피를 설치하고 응용 프로그램 파일을 창고에서 실례의 적당한 위치로 다운로드해야 합니다.그러나 대부분의 경우 삽입식 프로그램 라이브러리로 depro의 일부 측면을 처리함으로써 기술해야 할 코드량을 제한할 수 있다.
  • 2.이번 환경

  • 디버그 서버: EC2 Amazon Linux
  • 창고: Giithub(privet/public)
  • 3. 주의사항

  • EC2에 설정된 코드Deploy는 IAM 캐릭터 설정으로 EC2가 시작될 때만 설정할 수 있기 때문에 이미 시작된 EC2에 대해 코드Deploy에서 추출할 수 없습니다.
  • 관리 콘솔에서 IAM 역할은 기존 EC2 인스턴스에 간단히 첨부하여 변경할 수 있습니다.
  • 4. 개요 설정


    4.1 CodeDeploy에서 EC2 설정 및 EC2로 시작

  • CodeDeploy용 IAM instance 소개 (IAM 역할) 제작

  • EC2를 시작할 때 CodeDeploy용 설정
  • EC2 레이블 설정
  • IAM 스크롤 설정
  • CodeDeploy 프록시 설치 설정
  • 4.2 Giithub 웨어하우스 설치

  • 미리 처리할 물건Push
  • 를github 창고에
  • appspec.소스 코드 저장소 맨 위에 yml 파일 설정하기
  • 4.3 CodeDeploy 서비스 설정

  • Service Role for AWS CodeDeploy 제작
  • 응용 프로그램 설정
  • 프로그램 설정
  • 5. CodeDeploy는 EC2 설정 및 EC2로 시작


    5.1 CodeDeploy용 IAM instance 소개 (IAM 역할) 제작

  • 용도
  • Your Amazon EC2 instances need permission to access the Amazon S3 buckets or GitHub repositories where the applications that will be deployed by AWS CodeDeploy are stored. To launch Amazon EC2 instances that are compatible with AWS CodeDeploy, you must create an additional IAM role, an instance profile. These instructions show you how to create an IAM instance profile to attach to your Amazon EC2 instances. This role gives AWS CodeDeploy permission to access the Amazon S3 buckets or GitHub repositories where your applications are stored.
  • 정책 생성(콘솔에서)
  • 서비스→IAM→정책→정책 작성→독특한 정책 작성→선택→정책 확인
    정책 이름
    CodeDeployDemo-EC2-Permissions
    • 정책 문서
    
     {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:Get*",
            "s3:List*" 
          ],
          "Resource": [
            "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*" 
          ]
        }
      ]
    }
    
    · 전략 수립
  • 드럼 제작
  • IAM↑캐릭터제작새로운캐릭터
    캐릭터 명칭
    
    CodeDeployDemo-EC2-Instance-Profile
    
    • 드럼 유형 선택
    선택
    Amazon EC2
    • 정책 첨부
    부착
    CodeDeployDemo-EC2-Permissions
    제작 캐릭터

    5.2 EC2를 시작할 때 CodeDeploy용 설정

  • EC2 부팅
  • 서비스→EC2→실례제작
    · IAM 롤러 설정
    
    CodeDeployDemo-EC2-Instance-Profile
    
    ・고급세부∙사용자 데이터
    #!/bin/bash
    yum -y update
    yum install -y ruby
    cd /home/ec2-user
    curl -O https://aws-codedeploy-ap-northeast-1.s3.amazonaws.com/latest/install
    chmod +x ./install
    ./install auto
    
    ・EC2 태그 설정(Add Tags)
    
    キー: deploy
    値:yes
    

  • EC2 제작 후 CodeDeploy Agent 시작 확인
  • 생성된 EC2에 SSH 로그인
    
    $ sudo service codedeploy-agent status
    The AWS CodeDeploy agent is running as PID 8017
    
  • 6.Giithub 웨어하우스 설치


  • Giithub 웨어하우스 구성 예
    
    github.com/tonishy/sample-source
    ├── appspec.yml
    └── test.txt
    
  • 미리 처리할 물건Push
  • 를github 창고에
  • appspec.yml 파일을 미리 처리된 소스 코드의 창고 맨 위에 놓기
  • appspec.yml
    version: 0.0
    os: linux
    files:
      - source: /
        destination: /tmp
    
    "source:/"= "https://github.com/tonishy/sample-source/」"(의 특정 제출 ID)
    "destination:/tmp"= depro의 EC2 서버/tmp"에 설계

    7. CodeDeploy 서비스 설정


    7.1 Service Role for AWS CodeDeploy 제작

  • 용도
  • The AWSCodeDeployRole policy provides the permissions required for your service role to read the tags on your instances or identify your Amazon EC2 instances by Auto Scaling group names; to publish information to Amazon SNS topics; and to retrieve information about CloudWatch alarms. By default, this policy also includes a trust relationship that grants your service role access to all of the endpoints currently supported by AWS CodeDeploy. You can restrict the service role's access to only those endpoints you specify.
  • 드럼 제작(콘솔에서)
  • 서비스→IAM→역할→새로운 역할 만들기
    캐릭터 명칭
    
    CodeDeployServiceRole
    
    • 드럼 유형 선택
    선택
    AWS CodeDeploy
    • 정책 첨부
    검사
    AWSCodeDeployRole
    제작 캐릭터
  • 신뢰 정책 편집
  • 선택제작캐릭터"CodeDeployServiceRole"}신뢰관계→신뢰관계편집
    • 정책 문서
    
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "codedeploy.ap-northeast-1.amazonaws.com" 
            ]
          },
          "Action": "sts:AssumeRole" 
        }
      ]
    }
    
    · 신뢰 정책 업데이트

    7.2 응용 프로그램 설정

  • AWS 콘솔에서 어플리케이션 설정 작성
  • 서비스→CodeDeploy→지금 바로→사용자 정의 디자인→예열 건너뛰기→새로운 애플리케이션 만들기
    • 애플리케이션 이름
    demo
    [Note] In an AWS account, an AWS CodeDeploy application name can be used only once per region. You can reuse an application name in different regions.
    · 디자인 그룹 명칭
    demo
    [Note] If you want to use the same settings used in another deployment group (including the deployment group name; tags, Auto Scaling group names, or both; and the deployment configuration), specify those settings on this page. Although this new deployment group and the existing deployment group will have the same name, AWS CodeDeploy treats them as separate deployment groups, because they are each associated with separate applications.
    · 인스턴스 추가
    
    タグの種類: Amazon EC2
    キー: deploy
    値: yes
    
    EC2를 시작할 때 레이블이 있는 EC2를 설계 객체로 설정합니다.단, 이 지정한 경우terminate의 실례에도 디버깅에 사용할 탭이 있으면 선택됩니다.
    • 디버깅 설정A:디버깅 수행
    요컨대
    CodeDeployDefault.OneAtATime
    촉발
    이번에는 안 보겠습니다.
    경고
    이번에는 안 보겠습니다.
    뒤집다
    이번에는 안 보겠습니다.
    서비스 롤러
    
    arn:aws:iam::************:role/CodeDeployServiceRole
    
    7.1에서 제작)
    • 애플리케이션 제작

    7.3 프로그램 설정

  • AWS 콘솔에서 프로세서 해제 설정 작성
  • 서비스→CodeDeploy→AWS CodeDeploy 메뉴의 디자인}
    • 새 프로그램 만들기
    
    アプリケーション:demo
    デプロイグループ:demo
    リビジョンタイプ:アプリケーションは GitHub に格納されています
    
    • GiitHub에 연결
    "GiitHub에 연결"을 클릭하십시오.
    창고명
    
    tonishy/sample-source
    
    제출 ID
    
    30326398c84d********************fdbdf2b8
    
    • 설계 설치
    
    CodeDeployDefault.OneAtATime
    
    지금 바로 디버깅 시작


    좋은 웹페이지 즐겨찾기