Как загрузить общий файл в Jenkins?
Я пытаюсь найти способ предложить пользователю выбрать и загрузить общий файл с локального компьютера до задания Jenkins до сборки. Входной файл, который пользователь загружает, не обязательно является текстом или файлом свойств.
Я специально пытаюсь заставить пользователя "выбрать" их нужный файл - перейти к их файлу; пользователь не должен передавать путь к файлу.
Спасибо
Ответы
Ответ 1
Используйте Параметры файла:
Параметр файла позволяет сборке принимать файл, который должен быть отправлен пользователем при планировании новой сборки. Файл будет помещен в рабочую область в известном месте после завершения проверки/обновления, так что скрипты сборки могут использовать этот файл.
![введите описание изображения здесь]()
Если вам нужно проверить, что файл имеет определенное расширение, вам нужно будет сделать это с помощью script как часть вашего задания и не выполнить задание - это расширение/тип содержимого не соответствует тому, что вам нужно.
Ответ 2
Это довольно раздражает, когда вы не знаете, каким будет имя файла или нужно будет изменить его имя до того, как оно достигнет цели. Вам нужно выполнить взлом. Вот как я это делаю:
- Используйте параметр "Параметры файла" для загрузки файла
- Используйте OS-специфичный script, чтобы переименовать файл из того, что вы назвали своим
File Parameter
, к тому, что вы хотите, например, если мой File Parameter
имел значение File location
file_name
вместо фактический относительный путь к файлу, я бы тогда сделал что-то вроде этого, скажем, Windows внутри Build-Step для "Execute Windows Batch Command":
move .\file_name .\%file_name%
А затем просто используйте ArtifactDeployer, чтобы скопировать все туда в нужное место.
ps: это не приведет к удалению цифровых подписей, поэтому операция перемещения следует считать максимально безопасной.