我设置了一个Jenkins构建,它使用"Publish“插件远程执行ansible脚本,将变量注入到对ansible-playbook的调用中
Jenkins将远程执行的命令:
ansible-playbook /home/username/test/test.yml --extra-vars "ui_version=$UI_VERSION web_version=$WEB_VERSION git_release=$GIT_RELEASE release_environment=$RELEASE_ENVIRONMENT"它是由以下卷曲触发的:
curl -k --user username:secretPassword -v -X POST https://jenkins/job/Ansible_Test/buildWithParameters?UI_VERSION=abc&WEB_VERSION=def&GIT_RELEASE=ghi&RELEASE_ENVIRONMENT=jkl其中应使用以下变量:

My Problem:只注入第一个参数,正如您在以下Jenkins上控制台输出的最长行上看到的那样:
...
SSH: EXEC: completed after 201 ms
SSH: Opening exec channel ...
SSH: EXEC: channel open
SSH: EXEC: STDOUT/STDERR from command [ansible-playbook /home/dholt2/test/test.yml --extra-vars "ui_version=abc web_version= git_release= release_environment="] ...
SSH: EXEC: connected
...发布于 2017-08-30 20:41:38
结果是,终端试图在第一个参数之后解释&,正如前面提到的here。引用URL将导致成功的传输和变量注入。
我应该知道这是命令等待更多输入的原因。
https://stackoverflow.com/questions/45967547
复制相似问题