В настоящее время я настроил свой CICD для проекта WebAPI с использованием TFS. Все идет нормально. Я также создал отдельный web.config для каждой среды (web.DEV.config
, web.QA.config
, web.PROD.config
)
Сборка VS в TFS
Вопросов
Иногда нам нужно изменить только конфигурацию среды QA. В таких случаях мы должны собрать весь проект (после изменения только файла web.QA.Config
), который не нужен, нам просто нужно развернуть новую конфигурацию в QA. На данный момент мы выполняем развертывание вручную, перейдя в редактор службы приложений Azure / FTP на исходный код.
Есть ли вообще, если конфигурация изменена, развертывать только конфигурации вместо полного CICD?
Вы можете изменить настройки веб-приложений прямо в Azure без развертывания. Это сработает для вашей ситуации, потому что будущие развертывания не будут отменять все, что вы настраиваете через портал, то есть это однократный процесс.
Это возможно, но это снова ручные изменения. Я действительно хочу, чтобы изменения конфигурации регистрировались в моем репо
Его нельзя настроить для достижения этой функции напрямую. Но вы можете подумать о том, чтобы использовать какое-то обходное решение. Например:
and(succeeded(), eq(variables['FullBuild'], 'True'))
and(succeeded(), eq(variables['FullBuild'], 'False'))
Чтобы преобразовать файл web.config, вы можете создать свой клиентский сценарий PowerShell для этого или использовать некоторые задачи сборки, например: Применить преобразования.
Каков последний шаг вашего компакт-диска сегодня? Как вы опубликовали в Azure? Я создал главное репо с репозиториями исходного кода и репозиториями для развертывания в виде подмодулей, blog.lextudio.com/…. Затем в моем конвейере я использовал триггеры из подмодулей для запуска всех сборок и развертывания в Azure. Поскольку репозиторий развертывания является самостоятельным, я всегда могу вручную отредактировать
web.config
там.