Jenkins에서 AWS CodeBuild 사용 - AWS CodeBuild

Jenkins에서 AWS CodeBuild 사용

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

Jenkins 설정

AWS CodeBuild 플러그인을 사용하여 Jenkins를 설정하는 방법에 대한 자세한 내용은 AWS DevOps 블로그의 CodeBuild로 Jenkins 빌드 간소화 블로그 게시물을 참조하십시오. 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 플러그인에 사용할 IAM 사용자를 생성합니다.

    • 사용자의 자격 증명을 생성할 때 프로그래밍 방식의 액세스를 선택합니다.

    • 다음과 비슷한 정책을 생성한 다음 정책을 사용자에 연결합니다.

      { "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'