Архив артефактов в Дженкинсе


может кто-нибудь, пожалуйста, объясните мне идею артефакты в процессе сборки?

у меня есть каталог рабочей области, где я проверяю код для компиляции и запуска моих сценариев ant и т. д. В конце концов, в моем случае, я получаю файл jar, который готов к установке. Это считается артефактом?

где я должен сказать моему скрипту сборки, чтобы поместить файл jar? В каталоге рабочей области? Мой jar-файл получает уникальное имя файла в зависимости от таких переменных, как BUILD_ID и так, как я могу сказать Дженкинсу, какой файл jar выбрать?

изменить: Хорошо, поэтому я попытался сделать что-то вроде этого:

путь еще не существует в моей рабочей области, потому что сценарий сборки должен создать его, и, конечно же,.jar и .properties файлов там нет, потому что они еще не были сгенерированы. Почему же тогда это дает мне ошибку? Кажется, я что-то упускаю.

кроме того, Дженкинс удаляет артефакты после каждая сборка (не архивированные артефакты, я знаю, что могу сказать ей удалить их)? В противном случае он будет засорять жесткий диск довольно быстро.

4 113

4 ответа:

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

общее соглашение заключается в том, чтобы поместить результат сборки в build,target или

артефакт может быть любым результатом процесса сборки. Важно то, что не имеет значения, на каком клиенте он был построен, он будет перенесен из рабочей области обратно на мастер (сервер) и сохранен там со ссылкой на сборку. Преимущество заключается в том, что он версионирован таким образом, вам нужно только настроить резервное копирование на вашем Мастере и что все артефакты доступны через веб-интерфейс, даже если все клиенты сборки находятся в автономном режиме.

можно определить регулярное выражение как имя артефакта. В моем случае я сжал все файлы, которые я хотел сохранить в одном файле с постоянным именем во время сборки.

кроме того, Дженкинс удаляет артефакты после каждой сборки ? (не архивные артефакты, я знаю, что могу сказать ему, чтобы удалить их)

нет, Hudson / Jenkins сам по себе не очищает рабочую область после сборки. В процессе сборки могут выполняться действия, которые удаляют, перезаписывают или перемещают артефакты сборки с того места, где они были оставлены. В конфигурации задания, в расширенных параметрах проекта (которые должны быть развернуты), есть опция " очистить рабочую область до сборка", которая будет стереть рабочее пространство в начале новой сборки.

в Jenkins 2.60.3 есть способ удалить артефакты сборки (не архивированные артефакты), чтобы сэкономить место на жестком диске на машине сборки. В общем разделе установите флажок " отбросить старые сборки "со стратегией" поворот журнала", а затем перейдите в ее Дополнительные параметры. Появятся еще два параметра, связанные с сохранением артефактов сборки для задания на основе количества дней или сборок.

настройки, которые работают для меня, должны ввести 1 для "Max # of builds to keep with artifacts" и затем, чтобы иметь действие после сборки для архивирования артефактов. Таким образом, все артефакты из всех сборок будут архивированы, вся информация из сборок будет сохранена, но только последняя сборка сохранит свои собственные артефакты.

отбросить старые варианты сборки