Предупреждение
Я хочу отметить, что проверка изменений как часть сборки может привести к тому, что некоторые функции VSTS / TFS не будут работать. Связь рабочих элементов с проверкой, источниками и генерацией символов, управляемость от изменений для сборки до выпуска и интеграция с Test Manager, удаленная отладка, скорее всего, не принесет ожидаемых результатов, потому что набор изменений / фиксация, записанный в сборке te, может не соответствовать фактическим источники. Это может привести к неожиданному забавному поведению.
Кроме того, если какие-либо новые изменения уже были зафиксированы / зарегистрированы после начала сборки, номер версии может быть обновлен в системе управления версиями для кода, который фактически не был выпущен под этой версией.
Итак: Во-первых, изменение источников в процессе сборки считается плохой практикой.
Альтернативы
Есть способы сделать это лучше, один из них - использовать версию сборки (переменные Build_BuildNumber или Build_BuildID). В качестве альтернативы вы можете использовать задачу, такую как GitVersion, для создания семантической версии на основе ветки. и отметьте его в своем репозитории git. Таким образом, ваша сборка сгенерирует правильный номер версии и увеличит ревизию в случае, если одни и те же исходные файлы будут собраны несколько раз.
Я понимаю, но все же хочу проверить свой код как часть сборки
Если эти вещи у вас не работают, и вы по-прежнему хотите проверить изменения как часть сборки, вы можете использовать Задачи сборки TFVC, если вы используете TFVC или Git Build Tools, чтобы добавить пульт в локальный репозиторий, а затем использовать инструменты командной строки git для фиксации и отправки изменений обратно в репозиторий.
Для установки этих расширений требуется TFS Update 2. Но вы можете продвигать отдельные задачи сборки с помощью инструмента tfx commandlien. Для задач TFVC процесс объясняется здесь .
На Mac
На Mac это будет сложнее, так как вы используете TFVC. Мои задачи TFVC используют клиентскую объектную модель TFS и Powershell для связи с сервером TFS. Инструмент tf.exe
даже не работает с окнами, когда вы находитесь в контексте сборки, поэтому мне нужно напрямую вызывать объект VersionControlServer. Учитывая, что я зависим от этих технологий, задачи не будут выполняться на агенте Mac или Linux.
Вы можете попробовать проверить, не <ли < / a> работает из агента сборки (с использованием сценария оболочки). У меня нет возможности проверить это на реальном Mac.
Учитывая кроссплатформенный характер вашего проекта, я бы рекомендовал перейти на Git, он интегрируется в XCode и Android Studio, что упрощает создание собственного пользовательского интерфейса или сборку на основе собственных библиотек.
Альтернатива 2
Вы можете настроить сборку, которая вносит необходимые изменения в код, а затем проверяет измененный код. Затем пусть (CI) сборка запускает сборки Android и Mac с использованием измененного кода.
person
jessehouwing
schedule
15.04.2016