Развертывание приложения с помощью Jenkinsfile и AWS Code deploy

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

Спасибо.


person user1693222    schedule 08.06.2016    source источник


Ответы (1)


В качестве альтернативы вы можете использовать команды 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. profile = имя вашего профиля 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.
person Suken Shah    schedule 14.06.2016