Я впервые использую виртуальную машину Azure (Linux, Ubuntu 18), и мне было поручено настроить конвейер / выпуск для непрерывной разработки простого веб-сайта
Его должен работать следующим образом: когда основная ветвь привязана к Azure, автоматически запускает конвейер и выпускает его для развертывания в каталоге на виртуальной машине (сборка не задействована, это простой сайт Wordpress)
Мне удалось это получить работает следующим образом:
Затем конвейер выпуска, который выполняет следующие действия:
Он работает, но кажется хорошим. Есть некоторые очевидные проблемы:
Так что я хочу способ синхронизировать фиксацию git с каталогом сайта, перезаписывая только измененные файлы и удаляя все удаленные файлы, игнорируя файлы и каталоги в .git-ignore и т. д.
Кажется простым (я знаю, как это сделать с помощью хуков git), но я просто не могу найти способ сделать это в Azure DevOps
Возможно ли это? Может ли кто-нибудь дать мне направление?
Простым решением может быть простое использование задачи сценария bash или PowerShell на этапе развертывания, которая выполняет извлечение/проверку кода git в целевой папке на виртуальной машине.
Однако вы должны быть осторожны с тем, что извлекается и извлекается из git в целевом объекте развертывания. Используя переменную Release.Artifacts.{alias}.SourceVersion, как указано здесь, вы можете убедиться, что проверяете фиксацию, протестированную на предыдущем этапе конвейера
.