Jenkins에서 AWS CodeBuild 사용 - AWS CodeBuild

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Jenkins에서 AWS CodeBuild 사용

AWS CodeBuild용 Jenkins 플러그인을 사용하면 Jenkins 빌드 작업과 CodeBuild를 통합할 수 있습니다. 빌드 작업을 Jenkins 빌드 노드로 보내는 대신, 이 플러그인을 사용하여 CodeBuild로 빌드 작업을 전송합니다. 따라서 Jenkins 빌드 노드를 프로비저닝, 구성 및 관리할 필요가 없습니다.

Jenkins 설정

AWS CodeBuild 플러그인으로 Jenkins를 설정하는 방법과 플러그인 소스 코드를 다운로드하는 방법에 대한 자세한 내용은 https://github.com/awslabs/aws-codebuild-jenkins-plugin을 참조하세요.

플러그인 설치

Jenkins 서버를 이미 설정했고 AWS CodeBuild 플러그인만 설치하려는 경우 Jenkins 인스턴스의 Plugin Manager에서 CodeBuild Plugin for Jenkins를 검색합니다.

플러그인 사용

VPC 외부의 소스에서 AWS CodeBuild를 사용하려면
  1. CodeBuild 콘솔에서 프로젝트를 생성합니다. 자세한 내용은 빌드 프로젝트 만들기(콘솔) 섹션을 참조하세요.

    • 빌드를 실행하려는 AWS 리전을 선택합니다.

    • (선택 사항) CodeBuild 빌드 컨테이너가 VPC의 리소스에 액세스할 수 있도록 Amazon VPC 구성을 설정합니다.

    • 프로젝트 이름을 적어 둡니다. 3단계에서 이 이름이 필요합니다.

    • (선택 사항) CodeBuild에서 소스 리포지토리를 기본적으로 지원하지 않는 경우 Amazon S3를 프로젝트의 입력 소스 유형으로 설정할 수 있습니다.

  2. IAM 콘솔에서 Jenkins 플러그인에서 사용할 사용자를 생성합니다.

    • 사용자에 대한 보안 인증을 생성할 때는 프로그래밍 방식 액세스를 선택합니다.

    • 다음과 유사한 정책을 만든 다음, 정책을 사용자에게 연결합니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": ["arn:aws:logs:{{region}}:{{awsAccountId}}:log-group:/aws/codebuild/{{projectName}}:*"], "Action": ["logs:GetLogEvents"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{inputBucket}}"], "Action": ["s3:GetBucketVersioning"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{inputBucket}}/{{inputObject}}"], "Action": ["s3:PutObject"] }, { "Effect": "Allow", "Resource": ["arn:aws:s3:::{{outputBucket}}/*"], "Action": ["s3:GetObject"] }, { "Effect": "Allow", "Resource": ["arn:aws:codebuild:{{region}}:{{awsAccountId}}:project/{{projectName}}"], "Action": ["codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:BatchGetProjects"] } ] }
  3. Jenkins에서 자유형 프로젝트를 생성합니다.

    • 구성 페이지에서 빌드 단계 추가를 선택한 다음, CodeBuild에서 빌드 실행을 선택합니다.

    • 빌드 단계를 구성합니다.

      • 리전, 보안 인증, 프로젝트 이름에 값을 입력합니다.

      • 프로젝트 소스 사용을 선택합니다.

      • 구성을 저장하고 Jenkins에서 빌드를 실행합니다.

  4. 소스 코드 관리에서 원하는 소스 검색 방법을 선택합니다. Jenkins 서버에 GitHub 플러그인(또는 소스 리포지토리 공급자용 Jenkins 플러그인)을 설치해야 할 수 있습니다.

    • 구성 페이지에서 빌드 단계 추가를 선택한 다음, AWS CodeBuild에서 빌드 실행을 선택합니다.

    • 빌드 단계를 구성합니다.

      • 리전, 보안 인증, 프로젝트 이름에 값을 입력합니다.

      • Jenkins 소스 사용을 선택합니다.

      • 구성을 저장하고 Jenkins에서 빌드를 실행합니다.

Jenkins 파이프라인 플러그인과 함께 AWS CodeBuild 플러그인을 사용하려면
  • Jenkins 파이프라인 프로젝트 페이지에서 스니펫 생성기를 사용하여 CodeBuild를 파이프라인의 단계로 추가하는 파이프라인 스크립트를 생성합니다. 다음과 유사한 스크립트가 생성됩니다.

    awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'