Azure именование артефактов сборки и выпуска? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть репо на моем сайте DevOps Azure под названием «my_platform_services». Это репо не является проектом Java Maven или Gradle или чем-то подобным; это в основном bash скриптов.

Я в основном хотел использовать / использовать это репо в моем конвейере выпуска, где я хочу добавить один Stage и несколько задачи на запустить один из bash скриптов в репозитории my_platform_services в каталоге ovf / build!

Я знаю, что могу добавить задачу командной строки в Stage и поместить код для запуска мой сценарий:

./deploy.sh -i name -v 1.0.0

Но я продолжаю получать No such file or directory error enter image description here

Я не знаю, как получить доступ к рабочему каталогу этот артефакт / репо, чтобы я мог запустить свой скрипт на этом агенте. Меня смущает то, что мои компании называют переменные. Некоторые конвейеры сборки имеют такие переменные, как $BUILD_ARTIFACTSTAGINGDIRECTORY, некоторые сценарии в конвейерах выпуска, которые я пытался эмулировать, имеют $(System.DefaultWorkingDirectory), некоторые - $(Build.ArtifactStagingDirectory).

Я не понимаю, почему некоторые из них такие же, но с заглавной буквы или почему в некоторых есть круглые скобки, и я попытался просмотреть документацию Azure / Microsoft, но все «предварительно определенные» переменные конвейера, которые они перечисляют, не являются тем же. Я даже посмотрел на соответствующие переменные конвейера (как для выпуска, так и для сборки), чтобы увидеть, найду ли я что-нибудь там, но там были только переменные, такие как константы и тому подобное, для паролей или других переменных (ни один из них не выглядел так).

Если я установил репо как артефакт для конвейера выпуска, он будет потребляться автоматически, или мне все равно нужно добавить задачу на этапе (в конвейере выпуска) для «Загрузить артефакты» из указанного c репозитория?

Так может ли кто-нибудь объяснить мне, где эти переменные определены и каковы их пути? Я построил несколько элементарных конвейеров сборки, которые были очень простыми, и конвейер выпуска, который потреблял конвейер сборки и развертывался на Azure, но он использовал их развертывание по умолчанию на этапе azure, поэтому мне не пришлось вручную настраивать их. каталоги или файлы. Я приму любую помощь !!

1 Ответ

0 голосов
/ 05 мая 2020

Если вы уже добавили свой репозиторий в качестве артефакта в конвейер выпуска. Я имею в виду, что вы сделали это:

enter image description here

enter image description here

Вы должны легко найти этот шаг в ваша работа:

enter image description here

Таким образом, вам не нужно добавлять этап загрузки. Они там. Вы также можете найти в docs , что:

System.DefaultWorkingDirectory

Каталог, в который загружаются артефакты во время развертывания выпуска. Каталог очищается перед каждым развертыванием, если требуется загрузка артефактов в агент. То же, что Agent.ReleaseDirectory и System.ArtifactsDirectory.

Но они не находятся непосредственно в этой папке. Определяя артефакт, вы добавили им псевдоним. И они находятся в этой папке. У меня есть два артефакта, и для ls $(System.DefaultWorkingDirectory) я получил:

2020-05-05T05:34:40.8873412Z     Directory: D:\a\r1\a
2020-05-05T05:34:40.8873732Z 
2020-05-05T05:34:40.8873966Z 
2020-05-05T05:34:40.8876175Z Mode                LastWriteTime         Length Name                                                                  
2020-05-05T05:34:40.8877413Z ----                -------------         ------ ----                                                                  
2020-05-05T05:34:40.8879803Z d-----         5/5/2020   5:34 AM                repos                                                                 
2020-05-05T05:34:40.8891912Z d-----         5/5/2020   5:34 AM                _DevOps Manual-CI                                                     
2020-05-05T05:34:40.8955258Z 

Пожалуйста, проверьте, какой у вас псевдоним для вашего артефакта, и попробуйте команду:

./yourAlias/deploy.sh -i name -v 1.0.0

If deploy. sh is в основном root репо.

...