我写了一个PHP脚本来运行Jenkins构建。它工作正常,但现在我应用了一些安全性并创建了可以运行jenkins构建的用户。
<?php
echo "Run Jenkins\n";
echo shell_exec("curl -X POST http://198.0.0.21:8080/job/test/build");
echo "\n\n";
?>
现在我有一个用户,例如test
,密码为test
。
如何重写我的PHP
脚本以将此用户用作运行版本的身份验证
运行上面的脚本时,我得到以下输出:
Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:
Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
-->
我找到了解决方案:
$u="test";
$p="test";
echo shell_exec("curl -X POST http://$u:$p@198.0.0.21:8080/job/test/build");
答案 0 :(得分:0)
如果您运行的jenkins版本大于1.426,则可以生成用于代替密码的令牌,这样您就不会以明文显示密码。
请参阅https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients