Повторяемые сборки - PullRequest
0 голосов
/ 04 мая 2020

Недавно у нас был такой случай:

enter image description here

У нас есть несколько проектов в нашем решении, которые зависят друг от друга. С помощью зависимостей проекта мы гарантируем, что проект собран в правильном порядке.

В приведенном выше случае разработчик забыл добавить зависимость проекта. Поэтому могут произойти 2 вещи: 1. Сборка завершится неудачно, потому что msbuild строит и выводит проекты в порядке, который не работает 2. Сборка будет успешной, потому что msbuild строит и выводит проекты в правильном порядке (случайно)

Как вы можете видеть выше, первая ночная сборка прошла успешно, вторая - нет, а третья - снова. Это может сбивать с толку. Я хотел бы сделать сборки более повторяемыми, чтобы последовательные сборки либо все терпели неудачу, либо все были успешными.

Есть ли подход, который я могу использовать, чтобы сделать это лучше?

Я читал о детерминированности c строит, но я не уверен, поможет ли это моему делу: https://github.com/dotnet/roslyn/blob/master/docs/compilers/Deterministic%20Inputs.md

Дополнительная информация; - Код проверяется перед каждой сборкой. - Мы используем модель на основе плагинов, поэтому проекты не объединяются вместе со ссылками на проекты, а проекты плагинов создаются отдельно без зависимостей. Затем мы ссылаемся на вывод dll из наших проектов приложений. Поэтому плагин должен быть собран перед проектом приложения. Мы вручную добавляем зависимости проекта, чтобы убедиться, что это происходит.

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