Как загрузить файл из командной строки в качестве параметра файла в jenkins
Я запускаю сборки со строковыми параметрами из командной строки в Jenkins с помощью:
curl http://jenkins:8080/job/Build/buildWithParameters?PARAM=value&token=token
теперь я хочу запустить сборку с файлом в качестве параметра файла из командной строки.
например, если мой проект строит main.c тогда я хотел бы иметь возможность запускать сборку и загружать мой main.C из командной строки.
это возможно?
3 ответов
это описано в удаленный доступ к Дженкинс страница API:
curl http://jenkins/job/$JOB_NAME/build -F file0=@PATH_TO_FILE -F json='{"parameter": [{"name":"FILE_LOCATION_AS_SET_IN_JENKINS", "file":"file0"}]}'
обратите внимание, что вам нужно использовать URL /build вместо /buildWithParameters
Если вам нужно отправить как параметры строки, так и параметр файла, вы можете сделать следующее:
json='{"parameter": [{"name": "param1", "value": "value1"},
{"name": "param2", "value": "value2"},
{"name":"fileParam", "file":"file0"}]}'
url=http://jenkins/job/My_Remote_Jenkins_Job/build
curl -v $url -F file0=@/some/folder/path/template.zip -F json="$json" --user username:password
Я должен был убедиться, что параметры param1
, param2
и fileParm
существуют в работе Дженкинса My_Remote_Jenkins_Job
.
решение, которое я использовал (на основе предложения Кристофера об использовании Дженкинс-командной строки) составляет:
java -jar jenkins-cli.jar -s http://jenkins:8080 build Build -p main.c=hello.c
который с параметром файла main.c загрузит ваш локальный привет.c в рабочую область задания сборки в качестве main.c