【问题标题】:Jenkins Cli Build Project without passing file parameterJenkins Cli 构建项目而不传递文件参数
【发布时间】:2017-07-28 08:40:47
【问题描述】:

有没有办法在不传递文件参数的情况下使用 jenkins-cli 调用 jenkins 作业?

我有一个接受以下参数的詹金斯工作(key1,key2,file-parameter) 这是我对项目的 jenins-cli 调用。

java -jar jenkins-cli.jar \ 
        -s <url> build <jenkins-project> \
        -p key1=value1 -p FILE_PARAMETER=filename

在这里,如果我不传递 key2 会触发构建,但我想在不传递文件参数的情况下触发构建。

如果这样做,我会收到以下错误 - 参数 FILE_PARAMETER 没有默认值。

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    Jenkins 公开了其他远程执行协议,例如 http 和 ssh。

    给定一个有两个参数的作业

    STRING_PARAMETER =String param
    FILE_PARAMETER   =File upload param
    

    这是一个示例用法。

    curl -X POST $JENKINS_URL/job/hello/build \
      --form file0=@my.txt \
      --form json='{"parameter": [{"name":"FILE_PARAMETER", "file":"file0"}, {"name":"STRING_PARAMETER","value":"A_VALUE_WITH_FILE"}]}'
    

    这里只传入字符串。 (跳过文件参数)

    curl -X POST $JENKINS_URL/job/hello/build \
      --form file0=@my.txt \
      --form json='{"parameter": [ {"name":"STRING_PARAMETER","value":"NO_FILE_USED"}]}'
    

    【讨论】:

    • 看来你也可以这样做: ssh jenkins.blah.com -p 59595 build PROJECT/NAME -p branch=master -p source_override.zip= /null 它会从 std_in 中拉出文件,您可以在其中按 CTRL-D 以从 /dev/null 发送任何内容或管道。我还不能完全回答 ssh/jenkins-cli 案例的问题。
    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    相关资源
    最近更新 更多