Хотите прослеживаемость артефакта без отказа от квалификации снимка

StackOverflow https://stackoverflow.com/questions/5480802

Вопрос

<Сильный> фон. Мой орг использует Maven, Bamboo и Artifactory для поддержки процесса непрерывного интеграции. Мы полагаемся на квалификатор снимка Maven, чтобы помочь управлять хранением в артефактировании (поверните старые сборки моментальных снимков), а также помогают сохранить текущие интеграции кросс-команд (Maven проверяет обновления на снимках, автоматически на каждом сборке).

<Сильная> проблема. Одной из проблем, которые у нас есть правильно, регулярно содействуя созданию окружающей среды в среду, продолжая использовать снимок. Скажите, что тестер развертывает версию 1.8.2-Snapshot в функциональную тестовую среду, и она находится на Rev 1400 в Subversion. Скажем также, что он проходит функциональный тест. К тому времени, когда тестер решает вытащить 1,8,2-моментальный снимок от артефактора в среду тестирования производительности, разработчик мог бы предать изменение к Subversion, поэтому фактический двоичный в артефактировании находится на другом отрезке. Как мы гарантируем, что Rev не изменяется из нас при использовании сборки моментальных снимков?

<Сильные> ограничения. Мы, очевидно, не хотим развертывать различные сборки неосознанно. Мы также не хотим перестроить из источника, поскольку мы хотим проверить точный двоичный тест в производительности, который мы проверены в функциональном тесте.

Подходы, которые мы рассмотрели. Мысль состоит в том, что мы хотим, чтобы мы хотим, чтобы мыслить версии с четвертым компонентом, как 1.8.2.1400, где четвертый компонент представляет собой Subversion Rev. (Как побочный вопрос, есть ли плагин Maven или что-то еще, что это делает автоматически?) Но если мы сделаем это, то по сути, мы потеряем функцию снимка, поскольку Maven и Artifactory считают, что это разные версии.

Мы используем Scrum, поэтому мы развертываем в тестовые среды очень рано (например, день два или около того). Я не думаю, что имеет смысл удалить отборочный снимок, который рано в раннем цикле Dev, потому что мы снова теряем преимущества снимков.

ценится за знать, как другие ORGS решают этот вопрос.

Это было полезно?

Решение

Просто обведите обратно на этом, я хотел поделиться тем, что мы делаем.

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

Но любая построение, которую мы развернуемся в тестовую среду (например, функциональный тест, системный тест) или иначе производства должны включать в себя пересмотр;E.G., 1.8.2.1400.Мы называем этими «четырехугольниками».Причина настаивания на четырехстрадах в тесте заключается в том, что мы можем приложить проблемы (функции, исправления и т. Д.) Для конкретных изменений, поэтому тестеры знают, что тестировать.Для производства это действительно только потому, что мы хотим развернуть точно такой же артефакт, который мы протестировали, так что это означает, что мы развертываем четырехугольник.

Во всяком случае надеюсь, что информация полезна для кого-то.

Другие советы

Если вы включите «Uniqueversion» для создания снимков, каждый развернутый моментальный снимок будет иметь уникальный идентификатор.Вы можете использовать это, чтобы убедиться, что вы развертываете правильно содействие сборки в средах.

И, как примечание.

вместо того, чтобы встроить номер сборки VCS Revision в версии артефакта, мы встроили номер сборки CI в файл META-INF/MANIFEST-MF.

См. Например, например, Использование переменных среды HUDSON для определения ваших сборки .Хотя статья применима к Дженкинсу / Гудзону, я считаю, что это тривиально для порта для бамбука.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top