我正在开发一个使用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
当在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
它给出以下错误消息:
stderr: Too many arguments: < java -jar jenkins-cli.jar create-job NAME Creates a new job by reading stdin as a configuration XML file.
有谁知道解决这个问题?据我所知,我正在做得很好(因为命令在没有被ansible输入时有效)
我管理我的jenkins CI/CD管道并使用ansible进行设置,我非常依赖可用的库(groovy DSL,python jenkins-job-builder)并使用jinja2模板jenkins XML配置的内容.我被要求展示在本地聚会上可以用ansible做些什么,并且已经开始编写一些代码,我将在新的一年中在聚会上交付和分享.我认真地认为这些东西可以帮助你很多,我目前在我当前的项目中使用这个设置,无法想象以任何其他方式管理jenkins.
https://github.com/Azulinho/ansible-jenkins-showcase