Hook oder Задача изменить файлы после запроса на получение в Azure DevOps - PullRequest
4 голосов
/ 14 февраля 2020

Я хотел бы изменить некоторые файлы в моей защищенной мастер-ветви после того, как в Azure DevOps Server выполняется запрос на извлечение из ветви функций в мастер-ветвь.

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

Возможно ли это через серверные git перехватчики или Azure конвейер или задачу (извините, я Я новичок в этой топи c).

Обновление

Крюк или конвейер должны делать следующее:

  1. проверить, если текущий файл. sql имеет любое содержимое (если да, go до следующего шага)
  2. обновить целочисленную переменную (DbVersion) в C# -классе (добавить 1 к нему)
  3. переименуйте текущий. sql файл в db_update_ [new DbVersion]. sql
  4. создайте новый пустой текущий. sql файл

1 Ответ

0 голосов
/ 28 февраля 2020

Ваше описание сценария немного расплывчато, но я постараюсь написать какой-нибудь ответ, исходя из того, что, как я понимаю, вы хотите сделать:

Как правило, изменение ветки в конвейере сборки не рекомендуется. , Как упоминалось ранее, вы должны сделать это перед тем, как объединить запрос извлечения с вашей веткой.

Для того, что вы описали, было бы полезно знать, что Git обрабатывает управление версиями автоматически. Каждый коммит создает новую версию измененного файла, которую вы можете найти в истории коммитов в Azure DevOps. Для меня это звучит так, как будто вы просто не хотите терять изменения, внесенные в файл. sql.

Если вам требуется, чтобы новая версия файла была частью Артефакт сборки, создаваемый вашим конвейером, может иметь смысл написать короткий сценарий оболочки, который можно запустить с помощью задачи сценарий оболочки . Для замены строки используйте задачу «Заменить токен» .

Другим решением может быть pre-pu sh githook, который будет выполнять сценарий оболочки, создающий новый файл? Вы можете прочитать больше о githooks здесь .

Я надеюсь, что вы нашли что-то полезное в этом, иначе было бы хорошо узнать, что вы хотите делать с версиями, которые вы создаете. Вы собираетесь использовать версии позже? Возможно, было бы лучше пересмотреть другую модель ветвления, которая поддерживает несколько сред.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...