Azure DevOps ThirdParty Инструменты для сборки / развертывания - PullRequest
0 голосов
/ 10 февраля 2020
  1. Элемент списка

    конвейеры:
    по умолчанию:
    - шаг:
    имя: Pu sh изменяется на Commerce Cloud
    сценарий:
    - dcu --putAll $ OCCS_CODE_LOCATION --node $ OCCS_ADMIN_URL --applicationKey $ OCCS_APPLICATION_KEY
    - шаг:
    name: Publi sh меняет Live Store
    изображение: Python 3.5.1
    скрипт:
    python publishDCUAuthoredChanges.py -u $ OCCS_ADMIN_URL -k $ OCCS_APPLICATION_KEY

переменные среды:

  • $ OCCS_CODE_LOCATION: путь к расположению весь код OCCS
  • $ OCCS_ADMIN_URL: URL-адрес интерфейса администрирования в целевом экземпляре Commerce Cloud
  • $ OCCS_APPLICATION_KEY: ключ приложения, используемый для входа в целевой интерфейс администрирования Commerce Cloud

Поэтому я хочу использовать Azure Dev Repository для CI / CD. в приведенном выше блоке кода, если вы видите, я указал - dcu & python код в двух задачах.

dcu - nodejs сторонний oracle инструмент, который необходимо было использовать для переноса кода в облачную систему , Я хочу знать, как использовать этот инструмент в azure dev ops,

Second python (или) nodejs, которые я хочу вызвать в REST api для публикации sh изменений.

Итак, где разместить эти файлы и как мы их вызываем.

*********** Обновление **************

Я разместил агент самообслуживания и смог получить доступ к системе , Просто начните выполнять базовый c bash код, но в итоге получите две проблемы -

1) git извлечение файлов из хранилища, в которое он собирается _work / 1 / s, не уверен, как это путь решен. Как я могу изменить это местоположение s 2) Я сделал 'pwd' по правильному пути, но он не работает в команде 'dcu'. Я попытался с npm и другими несколькими командами, это терпит неудачу. Но такие вещи, как mkdir, rmdir, он создает и удаляет папку правильно из желаемого пути. Когда я попытался вручную ввести команду «dcu» из терминала из системы, она работала нормально, как и ожидалось.

enter image description here

enter image description here

1 Ответ

1 голос
/ 11 февраля 2020

Вы можете выполнить следующие шаги, чтобы использовать инструмент DCU и python в azure конвейерах.

1, создать репозиторий azure git, включающий zcu-файл dcu и ваши файлы .py. Вы можете выполнить шаги в этой теме , чтобы создать azure git репо и pu sh локальные файлы для azure репо.

2, создать azure сборку трубопровод. Пожалуйста, отметьте здесь , чтобы создать конвейер yaml. Здесь - хорошее руководство для начала работы.

enter image description here

Чтобы создать конвейер classi c UI, выберите Используйте редактор классов c в мастере настройки конвейера и выберите начать с пустого задания , чтобы начать с пустого конвейера и добавить свои собственные шаги. (Я буду использовать classi c UI конвейер в примере ниже.)

enter image description here

3, нажмите «+» и найдите Извлечь файлы задача , чтобы распаковать ZIP-файл DCU. Щелкните 3dots в поле Папка назначения , чтобы выбрать папку назначения для извлеченных файлов dcu. например. $ (Agent.builddirectory). Пожалуйста, проверьте мой ответ в этой теме больше информации о предопределенных переменных

enter image description here

4, нажмите "+", чтобы добавить задачу powershell , Запустите приведенный ниже скрипт на скриншоте, чтобы установить dcu и запустить команду dcu. Для переменных среды (например, $ OCCS_CODE_LOCATION) нажмите вкладку переменных на снимке экрана ниже, чтобы определить их

cd  $(agent.builddirectory)      #the folder where the unzipped dcu files reside. eg. $(agent.builddirectory)
npm install -g
.\dcu.cmd --putAll $(OCCS_CODE_LOCATION) --node $(OCCS_ADMIN_URL) --applicationKey $(OCCS_APPLICATION_KEY)

enter image description here

5, добавьте Используйте python version task , чтобы определить python версию для выполнения вашего .py файла. 6, добавьте Python скрипт задачи , чтобы запустить ваш .py файл. Щелкните 3dots в поле Script path , чтобы найти файл publishDCUAuthoredChanges.py (этот py-файл и dcu-zip-файл были перемещены в репозиторий azure git на предыдущем шаге 1).

enter image description here

Вы должны быть в состоянии запустить скрипт вышеупомянутого вопроса в конвейере azure devops.

Обновление:

_work/1/s - рабочая папка по умолчанию для агента. Вы не можете изменить это. Хотя есть способы изменить местоположение, где клонируется исходный код, из git, рабочий каталог задач по-прежнему находится в папке по умолчанию.

Однако Вы можете изменить рабочий каталог внутри задач. И есть предопределенные переменные , которые вы можете использовать для ссылки на места в агентах. Для приведенного ниже примера: enter image description here

$(Agent.BuildDirectory) is mapped to c:\agent_work\1
%(Build.ArtifactStagingDirectory) is mapped to c:\agent_work\1\a
$(Build.BinariesDirectory) is mapped to c:\agent_work\1\b
$(Build.SourcesDirectory) is mapped to c:\agent_work\1\s

Сценарии. sh в папке _temp генерируются автоматически агентом, который содержит сценарии в задаче bash.

Для вышеуказанной команды dcu ошибка не найдена. Вы можете попробовать добавить путь команды dcu к системным переменным для переменных среды вашего локального компьютера. (путь в пользовательских переменных не может быть найден заданиями агента. Для агента используйте другую учетную запись пользователя для подключения к локальному компьютеру) enter image description here.

Или вы можете использовать физический путь к команде dcu в задаче bash. Например, скажем, dcu.cmd в c:\dcu\dcu.cmd на локальной машине. Затем в задаче bash используйте скрипт ниже для запуска команды dcu. c:/dcu/dcu.cmd --putAll ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...