CI для горячей загрузки некомпилированных файлов в VSO и конвейер Octopus

Контекст:

В настоящее время мы вручную получаем ветку git dev, встроенную в пакет в VSO, и, как только этот пакет собран, он развертывается в Octopus и на некоторое время отключает сайт, так как все собранные пакеты загружаются на каждый сервер, на котором находится сайт.... Но, честно говоря, многие исправления ошибок в конечном итоге оказываются в js-файлах, которые легко могут быть просто заменены в горячем режиме... и это так раздражает, когда приходится ждать плохих OP и поддержки, чтобы сделать все это просто для крошечного изменения.

Трубопровод

Я хотел бы настроить CI, который позволяет выполнять горячую замену файлов js,css,cshtml, html на VSO и Octopus... Это позволит быстро и без развертывания вносить небольшие мелкие изменения в файлы javascript...

... а также есть еще одна опция, которая позволяет мне сказать: "Послушайте, я изменил некоторые файлы csharp, поэтому мне нужно собрать встроенный пакет в VSO и Octopus". Ручная перестройка, если хотите.

Вопрос:

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

1 ответ

Решение

Вы можете просто включить измененные файлы (оставить структуру папок) в пакет, затем отправить этот пакет на сервер Octopus и выполнить развертывание с этим пакетом, после чего необходимые файлы будут заменены.

Мой рабочий процесс развертывания IIS:

  1. Новая цель развертывания с режимом прослушивания щупальца
  2. Добавить шаблон процесса развертывания в IIS для проекта Octopus
  3. Включите функцию пользовательского каталога установки в окне "Настройка компонентов" процесса.
  4. Укажите пользовательский путь установки каталога в процессе

Задачи сборки:

  1. Задача "Добавить файлы" для копирования необходимых файлов (например, js)
  2. Задача "Добавить приложение в пакет" для упаковки этих файлов (остается структура папок)
  3. Добавление Push-пакетов в задачу Octopus
  4. Добавить задачу "Создать релиз Octopus"

С другой стороны, вы можете включить все опубликованные файлы в пакет (протестировано с публикацией файловой системы), затем развернуть с этим пакетом, Octopus может сравнить файлы и просто заменить измененные файлы ({webapp}.dll тоже будет заменен, проверено Созданное, Измененное время на целевом сервере)

Что касается получения измененных файлов во время сборки, вы можете вызвать Get commit с помощью API REST измененных элементов, а затем создать / изменить переменную сборки (например, depAll) с помощью команды ведения журнала (например, PS: Write-Host "##vso[task.setvariable variable=depAll). ];] Да ") в соответствии с результатом изменения файлов, затем используя эту переменную в условии задачи (Параметры управления каждой задачи), чтобы определить, какие задачи необходимо запустить. Укажите условия для запуска задачи

Другие вопросы по тегам