Дженкинс — C ++ сборка управления артефактами

Мы переносим нашу систему сборки и тестирования в Jenkins и ищем простой способ (где нам не нужно самим кодировать всю логику) для управления артефактами сборки.

По сути, нам нужен организованный способ хранить их по порядку в зависимости от типа сборки, пользователя, который ее построил, например:

johnd/nightly/r543241/win32/program.zip
johnd/nightly/trunk/lin64/program.tar.gz
master/release/2.1/win32/program.zip

Таким образом, мы можем загрузить после завершения сборки и легко получить требуемый артефакт на этапе тестирования.

До сих пор мы просто хранили файлы в каталогах NFS, но недавно начали рассматривать менеджер артефактов. Я посмотрел на Artifcatory, Archiva и Nexus. Но все они кажутся очень ориентированными на Java или, по крайней мере, требовали работы с maven. Поскольку я не хочу вводить больше сложности (мы в основном работаем с python, scons — это наш инструмент для сборки), и я не хочу вводить maven в микс, я ищу что-то, что имеет простую командную строку (или улучшенный интерфейс REST / Python) для загрузки, загрузки и управления артефактами.

Если вы не используете менеджер артефактов, но используете какой-то другой умный метод для управления артефактами C ++ для нужд выпуска / тестирования, я был бы рад услышать это также.

3

Решение

У меня точно такая же проблема. Мне не удалось интегрировать артефакты easilly, поэтому я забыл об этом.

На данный момент я использую плагин копирования артефактов, чтобы скопировать с помощью scp файл в общую папку NFS. Но это не очень хорошее решение, поскольку общие ресурсы могут быть по-разному смонтированы на двух машинах, и окна не могут получить к ним прямой доступ.

Но настоящий менеджер артефактов был бы такой хорошей вещью для нашего проекта.

В своей предыдущей работе я использовал документацию CMS (LiveLink), которая предоставляла хорошие услуги:
самоорганизующаяся папка.
— постоянный URL-адрес (мы можем перемещать, переименовывать папки и файлы, общедоступный URL-адрес для заданных файлов никогда не меняется, что было здорово, SOOO: «http: // server / go / 123456789123456789» всегда указывал на один и тот же файл. чтобы дать этот URL Wget, и вы получите файл
версия файла.
— метаданные, расширенный поиск

Я все еще ищу такое решение в программном обеспечении с открытым исходным кодом и не нахожу его.

Если вам просто нужно разделить артефакт между двумя заданиями, просто воспользуйтесь плагином «Копировать артефакт для другой сборки». Я использую его, чтобы разделить свою работу на работу по сборке и тестовую работу (на самом деле есть 3 тестовых задания, одно очень быстрое после каждого коммита, одно довольно медленное каждый день и одно очень медленное в конце недели).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]