我正在开发一个使用ansible在centos7上部署jenkins CI服务器的项目.我在使用ansible从xml模板创建jenkins作业时遇到问题.
到目前为止一切正常,但现在我希望能够创建作业,并使用ansible从xml文件中为它们提供一些基本配置.我的解决方案是来自jenkins-cli的以下命令:
sudo java -jar jenkins-cli.jar -s http://localhost:8080 create-job Job_test1 < Job_test1.xml
Run Code Online (Sandbox Code Playgroud)
当在centos7框中手动输入时,这非常有效,但是当我把它放入ansible并运行它时:
- name: create jenkins jobs with xml files
sudo: yes
command: "java -jar {{ jenkins.cli_dest }} -s http://localhost:8080 create-job {{ item.name }} < {{ jenkins_dest }}/{{ item.xml_name }}"
with_items: jenkins_jobs
Run Code Online (Sandbox Code Playgroud)
它给出以下错误消息:
stderr: Too many arguments: <
java -jar jenkins-cli.jar create-job NAME
Creates a new job by reading stdin as a configuration XML file.
Run Code Online (Sandbox Code Playgroud)
有谁知道解决这个问题?据我所知,我正在做得很好(因为命令在没有被ansible输入时有效)