Для личного предложения я также рекомендую второй метод. Хотя сценарий сборки будет очень большим в одном файле конфигурации, но гораздо лучше, чем сотни файлов конфигурации сборки.
Но сложность заключается в том, что все эти более 100 приложений находятся в одном хранилище. Это означает, что все обычные методы вам не подойдут, включая использование значения Build.Repository.Name
в качестве условия этапа. Кроме того, больше нет подробностей , которые описывают путь к исходному файлу , сохраненный в коммите.
Итак, я предлагаю вам и вашим разработчикам команды ввести информацию project name
в ваше сообщение о коммите. Затем в конвейере сборки вы можете использовать переменную Build.SourceVersionMessage
, чтобы получить сообщение с комментарием. Поскольку это переменная среды, которая только работает на уровень шага (не работает для уровень стадии и уровень задания ), она требуетВы добавляете одну задачу на первом этапе и используете условие для нее.
Логика этого заключается в добавлении одного шага в качестве первого на каждом этапе. Этот шаг используется только для условного суждения. Если Build.SourceVersionMessage
соответствует префиксу или любому ключевому слову, задания будут досрочно завершены.
Если использовать условие, подобное следующему:
condition: startsWith(variables['Build.SourceVersionMessage'], '[maven-plugin]')
Требуется, чтобы ваше сообщение о коммите должно соответствовать строгому формату записи содержимого, начиная с указанного имени проекта.
Другое условиеможет для вас рассмотреть это:
condition: in(variables['Build.SourceVersionMessage'], 'maven-plugin')
Это не требует строгого формата записи контента, но также необходимо ввести имя проекта в сообщении фиксации. Таким образом, его можно оценить в рабочем состоянии с помощью приведенного выше сценария.
Надеюсь, что это поможет вам.