Задача файла копирования конвейера Azure - PullRequest
0 голосов
/ 19 ноября 2018

Мы пытаемся получить здесь CI / CD, поэтому я пытаюсь развернуть веб-сервис через конвейер Azure Dev Ops, но у меня возникла проблема с Web.configs. До сих пор я шел по пути создания конфигурации для каждой среды (DEV, QA, PROD) и решил, что процесс сборки просто скопирует соответствующий файл поверх него с помощью задачи копирования файла. На этапе выпуска все уже было заархивировано, поэтому я сделал это на этапе сборки.

Я получаю следующий вывод из шага копирования:

2018-11-19T16:46:17.2133815Z found 1 files
2018-11-19T16:46:17.2141470Z Copying D:\a\1\s\Bridge\Configs\QA\Web.config 
to D:\a\1\s\Web.config
2018-11-19T16:46:17.2226220Z ##[section]Finishing: Set Web.config to QA

У меня настроена перезапись в месте назначения.

Похоже, у него есть нужные файлы в правильном каталоге, но когда он доходит до развертывания, я все еще вижу тот же (не скопированный) файл Web.config в корневом каталоге. Есть идеи, что здесь может происходить?

Кроме того, есть ли хороший способ переместить файл после развертывания? Похоже, задача копирования файла имеет доступ только к тому, что находится в артефакте сборки, где все упаковано в архив, и разархивирование для меня звучит как неправильная идея.

Любая помощь приветствуется, спасибо!

Примечание: я надеялся использовать этот файл копии вместо различных параметров преобразования, потому что он кажется более простым, и мне нравится иметь отдельные конфиги в управлении исходным кодом.

1 Ответ

0 голосов
/ 20 ноября 2018

Вы частично ответили на свой вопрос. Вам нужно будет выполнить эту работу копирования в конвейере выпуска, а не в сборке, чтобы копия файла могла быть контекстуальной для среды, в которой он должен функционировать.

По этой причине вам, вероятно, потребуется отправить веб-конфиги в артефакт сборки. Возможно, скопируйте их в каталог «config» в $ (build.artifactstagingdirectory). Затем в вашем конвейере релиза он загрузит ваш артефакт, который будет включать ваш каталог "config" и все конфиги среды, и вы можете выполнить задачу конвейера релиза, которая на основе среды копирует нужный файл из каталога "config" в артефакт и копирует его на месте в корневой каталог развернутого веб-приложения.

...