2016-06-08 3 views
3

Jenkins 1.x에서 Jenkins 2로 마이그레이션 중입니다. Jenkinsfile을 사용하여 응용 프로그램을 빌드하고 배포하려고합니다. 나는 gradle 응용 프로그램을 만들 수 있지만 Jenkinsfile을 사용하여 AWS Codedeploy를 통해 응용 프로그램을 배포하는 것에 대해 혼란 스럽습니다.Jenkinsfile 및 AWS 코드 배포를 사용하여 응용 프로그램 배포

여기에 나는 많은 자습서를 검색했지만 그들이 AWS 코드 대신 플러그인을 전개 사용하고 내 jenkinsfile

node { 
    // Mark the code checkout 'stage'.... 
    stage 'Checkout' 
    // Get some code from a GitHub repository 
     git branch: 'master', 
     credentialsId: 'xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxx', 
     url: 'https://github.com/somerepo/someapplication.git' 

    // Mark the code build 'stage'.... 
    stage 'Build' 
    // Run the gradle build 
     sh '/usr/share/gradle/bin/gradle build -x test -q buildZip -Pmule_env=aws-dev -Pmule_config=server' 

    stage 'Deploy via Codedeploy' 
    //Run using codedeploy agent 
} 

입니다. Jenkinsfile을 사용하여 AWS Codedeploy를 통해 애플리케이션을 배포 할 수 있습니까?

감사합니다.

답변

3

AWS CLI 명령을 사용하여 코드를 배포 할 수도 있습니다. 여기에는 두 단계가 포함됩니다.

1 단계 - 배포 번들을 S3 버킷으로 푸시합니다.

aws --profile {profile_name} deploy push --application-name {code_deploy_application_name} --s3-location s3://<s3_file_path>.zip 

: AWS 프로파일의

  1. PROFILE_NAME = 이름 (여러 계정을 사용하는 경우)
  2. code_deploy_application_name = AWS 코드 배포 응용 프로그램의 이름을 다음과 같은 명령을 참조하십시오.
  3. s3_file_path = 배포 번들 zip 파일의 S3 파일 경로.

2 단계 - 시작 코드 배포 번째 명령은 코드 배포를 실행하는 데 사용된다. 다음 명령을 참조하십시오

aws --profile {profile} deploy create-deployment --application-name {code_deploy_application_name} --deployment-group-name {code_deploy_group_name} --s3-location bucket={s3_bucket_name},bundleType=zip,key={s3_bucket_zip_file_path}

어디 : 당신의 AWS 프로파일의

  1. 프로필 = 이름 단계로 = 같은 1
  2. code_deploy_group_name
  3. code_deploy_application_name =의 이름을 (여러 계정을 사용하는 경우) 코드 배포 그룹 이는 코드 배포 응용 프로그램과 관련이 있습니다.
  4. s3_bucket_name = 배포 아티팩트를 저장할 S3 버킷의 이름입니다. (코드 배포를 수행하는 역할이 S3 버킷에 권한이 있는지 확인하십시오.) 1 단계
  • s3_bucket_zip_file_path = 같은