CodePipeline이 GHE를 지원하게되었습니다.

소개


  • 안녕하세요! KDDI 애자일 개발 센터의 코이타바시입니다.
  • 이 기사는 KDDI Engineer Advent Calendar 2020의 17일째 기사입니다.
  • 2020/9/30에 AWS CodePipeline이 GitHub Enterprise Server 지원을 시작함 라고 하는 발표가 있었습니다만, 이 서포트에 의해 CI/CD의 구조에 대해서 재검토하려고 하는 분도 많은 것은 아닐까요.
  • 이 기사에서는, 상기와 같은 사람, 원래 CodePipeline에 대해 무엇일까 하고 있는 사람을 위해서, CodePipeline에 대해 정리한 것이 되고 있습니다.

  • CodePipeline 정보



    CodePipeline이란?


  • 개발, 테스트, 배포까지의 프로세스를 자동화하는 서비스입니다.


  • 개념


  • 파이프라인은 소프트웨어 변경이 릴리스 프로세스를 통과하는 방법을 설명하는 워크플로 구조입니다.
  • 각 파이프라인은 일련의 Stage로 구성됩니다.



  • 스테이지


  • 스테이지는 소스 코드가 빌드되고 테스트가 실행되는 빌드 스테이지이거나 코드를 런타임 환경에 배포하는 배포 스테이지일 수 있습니다.
  • 각 스테이지는 연속 또는 병렬 동작으로 구성됩니다.

  • 액션


  • 액션은 애플리케이션 코드에 대해 수행되는 일련의 작업으로, 액션이 파이프라인에서 지정된 지점에서 실행되도록 설정됩니다.
  • 예를 들어, 인스턴스에 애플리케이션을 배치하기 위한 조치가 포함됩니다.

  • 사용 가능한 Action


  • CodePipeline 의 Action 의 종류는 source, build, test, deploy, approval, invoke(호출)가 있습니다.


  • Action 유형
    유효한 액션 공급자

    소스
    Amazon S3

    Amazon ECR

    CodeCommit

    CodeStarSourceConnection (비트 버킷, GitHub, GHE)

    build
    CodeBuild

    맞춤 CloudBees

    사용자 정의 Jenkins

    맞춤 TeamCity

    Test
    CodeBuild

    AWS Device Farm

    사용자 정의 BlazeMeter

    ThirdParty GhostInspector

    사용자 정의 Jenkins

    ThirdParty 마이크로 포커스 StormRunner 로드

    ThirdParty 누보라

    ThirdParty 랜스코프

    Deploy
    Amazon S3

    AWS CloudFormation

    CodeDeploy

    Amazon ECS

    Amazon ECS (Blue/Green) (이것은 CodeDeployToECS 액션입니다)

    Elastic Beanstalk

    AWS AppConfig

    AWS OpsWorks

    AWS Service Catalog

    아마존 알렉사

    사용자 정의 XebiaLabs

    approval(승인)
    수동

    invoke(호출)
    AWS Lambda

    AWS Step Functions

    CodePipeline의 일부 작업 유형은 제한된 AWS 리전에서 사용된다고 합니다.

    CodePipeline의 파이프라인 및 스테이지 구조 요구 사항


  • 다음 요구 사항을 충족하면 CodePipeline을 사용할 수 있습니다.

  • 1. 파이프라인에 최소한 두 개의 스테이지를 포함시켜야 한다.

    2. 파이프라인의 첫 번째 단계에는 최소한 하나의 소스 작업이 포함되어야 합니다.

    3. 소스 액션은 파이프라인의 첫 번째 단계에만 포함한다.

    4. 각 파이프라인의 스테이지에는 반드시 소스 액션 이외의 액션이 포함되어야 한다.

    5. 파이프라인 내의 모든 스테이지명은 반드시 일의일 것.

    참고


  • CodePipeline 공식 문서
  • AWS CodePipeline, GitHub Enterprise Server 지원 시작
  • 좋은 웹페이지 즐겨찾기