Я потратил несколько часов, пытаясь выяснить, как заставить CI / CD работать для приложения Node.js в DevOps Azure, потому что существует очень мало документации, на которую я мог бы сослаться.Я наконец-то заработал, поэтому надеюсь, что эти шаги помогут вам.Примечание. Пользовательский интерфейс может со временем меняться.Это написано в октябре 2018 года.
Предварительные требования:
- Служба веб-приложения Azure для развертывания на
- Подписка Azure
- УзелПроект .js в DevOps Azure с работающим конвейером сборки
- Вы смогли развернуть свое приложение с помощью других средств, таких как ftp или Git
Существует два способа добавитьШаг развертывания в вашем конвейере, и это: через сценарий YAML в конвейере сборки или с конвейером выпуска.Эти шаги предназначены для создания конвейера выпуска.Я выбираю это так, чтобы я мог вручную выбирать, какой коммит развертывать, но он также может запускаться автоматически.
- Создайте артефакт вашего каталога репо в конвейере сборки.Если конвейер сборки выполняется с помощью сценария YAML, добавьте его в файл YAML ( дополнительная информация ):
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(System.DefaultWorkingDirectory)'
Запустите конвейер сборки и дождитесь его завершения.Убедитесь, что артефакт создан. Перейдите на вкладку «Релизы» и создайте новый конвейер выпуска. В меню шаблонов найдите «Развернуть приложение Node.js в службе приложений Azure» инажмите кнопку Применить. Откройте этап 1, щелкнув ссылку «1 задание, 1 задание». В поле «Подписка Azure» нажмите кнопку + Создать.Появится модальное сообщение «Добавить подключение службы диспетчера ресурсов Azure». Эта часть невероятно расстраивала, но
эта статья среднего уровня очень помогла.Сначала это не сработало, но это потому, что я не все прочитал.Обязательно прочитайте каждое предложение, и оно должно работать.Когда соединение показывает «проверено», нажмите ОК.
- Существует возможность "использовать автоматическую версию диалога подключения службы", но этот интерфейс у меня не работает.
- Что усложняет этот шаг, так это тот факт, что DevOps и Portalиспользуйте разные термины для каждой переменной.Службы Azure, соберитесь и договоритесь о единой системе имен.
Выберите тип приложения. Найдите имя службы приложения. Перейтик задаче развертывания службы приложений Azure.Большинство настроек менять не нужно, но вам нужно указать используемый артефакт сборки.Это делается в разделе «Пакет или папка».Нажмите «...» и найдите свой артефакт сборки.Если артефакты не отображаются, конвейер сборки не работает. Сохраните конвейер выпуска. Откройте последнюю сборку CI и нажмите кнопку Release. Всенастройки по умолчанию в модале «Создать новую версию» должны быть в порядке.Нажмите «Создать».Теперь вы можете открыть свой релизный конвейер и наблюдать за ходом работы.Если произойдет сбой из-за проблемы с подключением, отредактируйте конвейер выпуска и убедитесь, что ваше соединение Azure Resource Manager проверено и выбран правильный тип приложения и служба приложения. Перейдите на свой сайт и убедитесь, что ваше приложениеуспешно развернут.