나도 울었던 AWS CodePipeline 미대응 SCM을 사용해 버리고 있기 때문에 나 지드에게 Jenkins에서 AWS CodeBuild를 걷어차기 위한 tips

나입니다.

Git 등의 SCM을 사용하는 것이 호흡적인 이유입니다만,
AWS CodePipeline이나 AWS CodeBuild의 Source가 지원되지 않았을 때 있었습니까?

예를 들면 Backlog Git?

source 미대응이었던 충격을 받고, 현세에서 없어지고 싶은 마음을 억제해
다음과 같이 Jenkins에 보낸 내 기록을 남깁니다.
  • CodePipeline 버리기
  • Jenkins Pipeline에 가기
  • Jenkins에 AWS CodeBuild Plugin을 도입하고 차기

  • 덧붙여 이미 Code3 형제가 source로서 대응하고 있는 SCM을 사용할 수 있는 사람은 돌아가다 부디.

    당초 @ 이노 카파항목 를 구현해 행복 일직선이 아닐까 생각해 보았습니다만 Repository 가 Lambda 의 임시 스토리지 사이즈 넘으면 어떻게 죄송해지고 포기했습니다. 슬픈

    구성





    IAM Policy



    Jenkins용 EC2에 적용하는 IAM Role의 Policy를 문서 참조 하여 만듭니다.

    Jenkinsfile



    GUI로 포치 포치하는 것은 힘들기 때문에 Pipeline 작업을 사용합니다.
    편리하네요 - Jenkinsfile.appspec 쓰는 것보다 편할지도..라고 생각해 버린 우리들은 Jenkins 초로마루의 동료들이입니다.

    특정 Jenkinsfile을 작성하는 방법은 여기을 참조하십시오.
    pipeline {
      agent any
      parameters {
        string(name: 'SyncTargetS3', defaultValue: 'orenosaikoubucket', description: 'codebuild source s3 bucket')
      }
      stages {
    /*
    // Pipeline from SCMしない場合は以下なかんじでgit cloneするstepを作る
        stage('git clone') {
          steps {
            git(
              url: "${params.GitURL}",
              credentialsId: '<Jenkinsで作ったCredentialsID>',
              branch: "${params.GitBranch}"
            )
          }
        }
    */
        stage('zip archive ${env.WORKSPACE} to /tmp/${env.WORKSPACE}.zip') {
          steps {
            sh("cd ../ && zip -r /tmp/${env.JOB_NAME}.zip ${env.JOB_NAME} -x *.git*")
          }
        }
        stage('aws s3 cp') {
          steps {
            sh("aws s3 cp /tmp/${env.JOB_NAME}.zip s3://${params.SyncTargetS3}")
            sh("aws s3 ls s3://${params.SyncTargetS3}/")
            sh("rm -f /tmp/${env.JOB_NAME}.zip")
            echo "done"
          }
        }
        stage('start AWS CodeBuild'){
          steps {
            awsCodeBuild(
              projectName: 'sandbox',
              region: 'ap-northeast-1',
              credentialsType: 'keys', // Jenkins用EC2でIAM InstanceProfileを呼ぶ場合はこのパラメータをkeysとして、credentialsとsecret_keyは設定しないこと
              sourceControlType: 'jenkins'
            )
          }
        }
      }
    }
    

    좋은 Jenkins Pipeline 생활을! ! ! ! ! !

    좋은 웹페이지 즐겨찾기