Должен ли я добавлять свои пользовательские этапы сборки в конвейеры MSBuild или TFS / Azure DevOps Build? - PullRequest
0 голосов
/ 30 апреля 2019

Является ли MSBuild устаревшим в пользу конвейеров TFS / Azure DevOps Build? У меня есть несколько пользовательских шагов сборки, которые мне нужно добавить, таких как запутывание кода и вычисление хешей файлов. Я не уверен, стоит ли мне добавлять их в качестве пользовательской цели в мой файл MSBuild / csproj или они должны быть отдельными шагами в конвейере сборки. Предоставила ли Microsoft какие-либо рекомендации относительно того, какой из них использовать, и / или какие общие рекомендации используются сообществом .NET?

Каковы плюсы / минусы выполнения пользовательских шагов сборки в MSBuild против шага конвейера сборки?

1 Ответ

1 голос
/ 30 апреля 2019

Нет, это не рекомендуется.Сборка конвейеров - это просто прославленные исполнители задач.Все, что делают эти конвейеры, это запускает ваш скрипт MSBuild;на самом деле они не «строят» что-либо в том же смысле, в котором MSBuild создает вещи.

Тем не менее, есть несколько сценариев, в которых имеет смысл добавлять дополнительные цели и условия сборки в файл MSBuild:

  1. Это должно произойти во время локальной разработки
  2. Это должно произойти для нескольких решений CI (т. Е. Jenkins, TeamCity, Azure DevOps)
  3. В будущем вы предвидите переход на другое решение CI

Это должно сделать преимущества MSBuild довольно очевидными.Он будет работать везде, где вы создаете приложение, в том числе на локальном компьютере, и будет переносимым.Он также имеет то преимущество, что автоматически отслеживается системой контроля версий, которая (если вы не используете сборку YAML), сборки Azure DevOps не .

...