2016-08-04 2 views
0

Я работаю через AWS blog post о том, как развернуть код непосредственно из BitBucket с помощью AWS CodeDeploy. Большинство из них довольно прямолинейны, пока я не дойду до точки, где упоминается файл appspec.yml. Я понимаю, что цель состоит в том, чтобы описать, что нужно развернуть и как это сделать, но я не понимаю, как это сделать для приложения, а не просто для простой страницы. В моем предыдущем опыте было бы ряд шагов, таких какКак настроить файл appspec.yml для развертывания приложения, а не одной страницы?

  1. притяжением Repo
  2. Run MSBuild против X проекта.
  3. Выполнение тестов против проекта X.
  4. Скопировать сборку артефактов на S3.
  5. Остановить пул приложений на веб-сервере.
  6. Запуск cmd-файла, развертывающего сборку артефактов.
  7. Запустите пул приложений на веб-сервере.
  8. Действия по очистке/отправке.

Я предполагаю, что есть некоторая корреляция между шагами я написал выше, и «файлы» и разделов «крючки» в appspec.yml файле detailed here. К сожалению, я не могу найти сопоставление в моей голове между двумя, и каждый пост в блоге, онлайн-документ и видео, которые я нашел довольно просто, говорят «вам нужен этот файл» и указывает на пример, который перемещает один статический файл и имеет один или два крючка. Я не понимаю, как интегрировать фактические части сборки.

Может ли кто-нибудь предоставить пример файла appspec.yml, который учитывает полное развертывание приложения, а не просто скопировать копию, или указать мне на ресурс, который лучше объясняет этот процесс?

ответ

2

CodeDeploy предназначен для развертывания встроенного приложения. Сборка и что-то заранее нужно управлять отдельно. Ваш zip-файл, который вы передаете в codedeploy, должен быть встроенным приложением, а также спецификацией приложений, описывающей установку.

Ниже приведена спецификация приложения .NET для моего приложения.

version: 0.0 
os: windows 
files: 
    - source:/
    destination: C:\inetpub\wwwroot 
hooks: 
    BeforeInstall: 
    - location: CodeDeploy/appstop.bat  
     runas: administrator 
    ApplicationStart: 
    - location: CodeDeploy/appstart.bat  
     runas: administrator 

Что касается codedeploy, мой процесс заключается в следующем:

  1. Проверка кода в Github,
  2. Github посылает webhook Дженкинс
  3. Дженкинс использует MS сборки для выполнения тестов/построить код ,
  4. Дженкинс застегивает артефакт сборки (встроенное решение) и загружает его в S3
  5. Дженкинс запускает развертывание codedeploy с zip-файлом s3.
  6. Код развертывания считывает приложения в zip и извлекает содержимое соответствующим образом.
  7. Люки жизненного цикла высекаются в соответствующие моменты времени. В моем случае для запуска и остановки IIS и безопасного удаления экземпляров из ELB.
+0

Gotcha.Я думаю, что моя путаница связана с тем, что AWS объявила о интеграции Bitbucket с использованием CodeDeploy, когда она была бы намного лучше подходит для CodePipeline (которая не поддерживает BitBucket изначально), чтобы обрабатывать все функции сборки и тестирования. Похоже, я не смогу полностью удалить Дженкинса из нашего процесса. Спасибо за разъяснения. – Necoras

 Смежные вопросы

  • Нет связанных вопросов^_^