CI для горячей загрузки некомпилированных файлов в VSO и конвейер Octopus
Контекст:
В настоящее время мы вручную получаем ветку git dev, встроенную в пакет в VSO, и, как только этот пакет собран, он развертывается в Octopus и на некоторое время отключает сайт, так как все собранные пакеты загружаются на каждый сервер, на котором находится сайт.... Но, честно говоря, многие исправления ошибок в конечном итоге оказываются в js-файлах, которые легко могут быть просто заменены в горячем режиме... и это так раздражает, когда приходится ждать плохих OP и поддержки, чтобы сделать все это просто для крошечного изменения.
Трубопровод
Я хотел бы настроить CI, который позволяет выполнять горячую замену файлов js,css,cshtml, html на VSO и Octopus... Это позволит быстро и без развертывания вносить небольшие мелкие изменения в файлы javascript...
... а также есть еще одна опция, которая позволяет мне сказать: "Послушайте, я изменил некоторые файлы csharp, поэтому мне нужно собрать встроенный пакет в VSO и Octopus". Ручная перестройка, если хотите.
Вопрос:
Мне не хватает словарного запаса для поиска этого в Google, и я удивляюсь, можете ли вы, ребята, помочь мне на пути к настройке этого.
1 ответ
Вы можете просто включить измененные файлы (оставить структуру папок) в пакет, затем отправить этот пакет на сервер Octopus и выполнить развертывание с этим пакетом, после чего необходимые файлы будут заменены.
Мой рабочий процесс развертывания IIS:
- Новая цель развертывания с режимом прослушивания щупальца
- Добавить шаблон процесса развертывания в IIS для проекта Octopus
- Включите функцию пользовательского каталога установки в окне "Настройка компонентов" процесса.
- Укажите пользовательский путь установки каталога в процессе
Задачи сборки:
- Задача "Добавить файлы" для копирования необходимых файлов (например, js)
- Задача "Добавить приложение в пакет" для упаковки этих файлов (остается структура папок)
- Добавление Push-пакетов в задачу Octopus
- Добавить задачу "Создать релиз Octopus"
С другой стороны, вы можете включить все опубликованные файлы в пакет (протестировано с публикацией файловой системы), затем развернуть с этим пакетом, Octopus может сравнить файлы и просто заменить измененные файлы ({webapp}.dll тоже будет заменен, проверено Созданное, Измененное время на целевом сервере)
Что касается получения измененных файлов во время сборки, вы можете вызвать Get commit с помощью API REST измененных элементов, а затем создать / изменить переменную сборки (например, depAll) с помощью команды ведения журнала (например, PS: Write-Host "##vso[task.setvariable variable=depAll). ];] Да ") в соответствии с результатом изменения файлов, затем используя эту переменную в условии задачи (Параметры управления каждой задачи), чтобы определить, какие задачи необходимо запустить. Укажите условия для запуска задачи