Конвейеры DevOps Azure запускают сценарий Node.js в качестве шага. - PullRequest
0 голосов
/ 01 июня 2019

Какой самый простой способ запустить скрипт Node.js в качестве шага в конвейере DevOps Azure (этап выпуска)?

Я попробовал несколько подходов, и кажется, что это не так просто, как ятак и должно быть.Я ищу идею общего подхода.

Моя последняя попытка была добавить сценарий в исходный репозиторий в tools / script.js.Мне нужно запустить его в конвейере выпуска (после сборки), откуда я не могу получить прямой доступ к репо, поэтому я добавил весь репо в качестве второго артефакта сборки.Теперь я могу получить доступ к файлу сценария от агента выпуска, но я не нашел способа фактически запустить сценарий, кажется, нет никакой возможности запустить сценарий Node.js на агенте в целом.

1 Ответ

1 голос
/ 01 июня 2019

Вариант 1. Визуальный редактор конвейеров

1) Создайте файл сценария, который вы хотите запустить на этапах сборки / выпуска

Вы можете добавить файл в репозиторий проекта Azure, например, в разделеtools/script.js и добавьте все модули узлов, которые ему нужны для запуска, в ваш package.json, например:

npm install --save-dev <module>

Примите и отправьте, чтобы ваши изменения были в сети и Azure мог их видеть.

2) Добавьте свое хранилище в качестве артефакта для вашего конвейера релиза

Вы можете пропустить это для конвейеров сборки, так как они уже имеют доступ к хранилищу.

enter image description here

enter image description here

3) Отредактируйте конвейер выпуска, чтобы обеспечить среду

Добавьте шаг, чтобы убедиться, что на агенте установлена ​​правильная версия узла (узел).js Tool Installer):

enter image description here

Добавить шаг для установки всех необходимых узловых модулей (npm):

enter image description here

4) Добавьте шаг сценария узла

Используйте шаг Bash для запуска сценария узла, убедитесь, что работаВ каталоге g установлен корневой каталог проекта (где находится package.json):

enter image description here

Опция 2: YAML

youесть шаг сценария \ оболочки, где вы можете выполнять пользовательские команды, просто используйте их для достижения цели.На агенте установлены узлы, вам может понадобиться только шаг pick node version, чтобы выбрать правильную версию узла для вашего скрипта

Пример:

trigger:
- master

pool:
  vmImage: 'Ubuntu-16.04'

steps:
- checkout: self
  persistCredentials: true
  clean: true

- bash: |
    curl $BEDROCK_BUILD_SCRIPT > build.sh
    chmod +x ./build.sh
  displayName: My script download
  env:
    BEDROCK_BUILD_SCRIPT: https://url/yourscript.sh

- task: ShellScript@2
  displayName: My script execution
  inputs:
  scriptPath: build.sh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...