Вы можете выполнить следующие шаги, чтобы использовать инструмент DCU и python в azure конвейерах.
1, создать репозиторий azure git, включающий zcu-файл dcu и ваши файлы .py. Вы можете выполнить шаги в этой теме , чтобы создать azure git репо и pu sh локальные файлы для azure репо.
2, создать azure сборку трубопровод. Пожалуйста, отметьте здесь , чтобы создать конвейер yaml. Здесь - хорошее руководство для начала работы.
![enter image description here](https://i.stack.imgur.com/8BHO0.png)
Чтобы создать конвейер classi c UI, выберите Используйте редактор классов c в мастере настройки конвейера и выберите начать с пустого задания , чтобы начать с пустого конвейера и добавить свои собственные шаги. (Я буду использовать classi c UI конвейер в примере ниже.)
![enter image description here](https://i.stack.imgur.com/tyBPM.png)
3, нажмите «+» и найдите Извлечь файлы задача , чтобы распаковать ZIP-файл DCU. Щелкните 3dots в поле Папка назначения , чтобы выбрать папку назначения для извлеченных файлов dcu. например. $ (Agent.builddirectory). Пожалуйста, проверьте мой ответ в этой теме больше информации о предопределенных переменных
![enter image description here](https://i.stack.imgur.com/NSLvX.png)
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](https://i.stack.imgur.com/jaPv6.png)
5, добавьте Используйте python version task , чтобы определить python версию для выполнения вашего .py файла. 6, добавьте Python скрипт задачи , чтобы запустить ваш .py файл. Щелкните 3dots в поле Script path , чтобы найти файл publishDCUAuthoredChanges.py (этот py-файл и dcu-zip-файл были перемещены в репозиторий azure git на предыдущем шаге 1).
![enter image description here](https://i.stack.imgur.com/a1Ucr.png)
Вы должны быть в состоянии запустить скрипт вышеупомянутого вопроса в конвейере azure devops.
Обновление:
_work/1/s
- рабочая папка по умолчанию для агента. Вы не можете изменить это. Хотя есть способы изменить местоположение, где клонируется исходный код, из git, рабочий каталог задач по-прежнему находится в папке по умолчанию.
Однако Вы можете изменить рабочий каталог внутри задач. И есть предопределенные переменные , которые вы можете использовать для ссылки на места в агентах. Для приведенного ниже примера: ![enter image description here](https://i.stack.imgur.com/Vlv7V.png)
$(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 к системным переменным для переменных среды вашего локального компьютера. (путь в пользовательских переменных не может быть найден заданиями агента. Для агента используйте другую учетную запись пользователя для подключения к локальному компьютеру)
.
Или вы можете использовать физический путь к команде dcu в задаче bash. Например, скажем, dcu.cmd в c:\dcu\dcu.cmd
на локальной машине. Затем в задаче bash используйте скрипт ниже для запуска команды dcu. c:/dcu/dcu.cmd --putAll ...