2016-06-08 5 views
3

Я переношу с Jenkins 1.x на Jenkins 2. Я хочу создать и развернуть приложение, используя Jenkinsfile. Я могу создать приложение gradle, но я запутался в развертывании приложения через AWS Codedeploy с помощью Jenkinsfile.Развертывание приложения с использованием Jenkinsfile и развертывания кода 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 
} 

Я искал много учебника, но они используют AWS код развертывание плагин вместо этого. Не могли бы вы помочь мне развернуть приложение через AWS Codedeploy с помощью Jenkinsfile?

спасибо.

ответ

3

В качестве альтернативы вы можете использовать команды AWS CLI для развертывания кода. Это включает два шага.

Шаг 1 - Наденьте комплект развертывания в ведро S3. Смотрите следующую команду:

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

Где:

  1. profile_name = имя профиля AWS (при использовании нескольких учетных записей)
  2. code_deploy_application_name = имя AWS приложения развертывания кода.
  3. s3_file_path = S3 путь к файлу для развертывания zip-файла.

Шаг 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}

Где:

  1. профиль = имя вашего профиля AWS (при использовании нескольких учетных записей)
  2. code_deploy_application_name = такой же, как шаг 1.
  3. code_deploy_group_name = имя группы развертывания кода. Это связано с вашим приложением развертывания кода.
  4. s3_bucket_name = имя ведра S3, в котором будут храниться ваши артефакты развертывания. (Убедитесь, что ваша роль, которую выполняет код развертывания имеет разрешения на s3 ведро.)
  5. s3_bucket_zip_file_path = аналогичен шагу 1.