creating jenkins jobs with ansible

前端 未结 3 1646
后悔当初
后悔当初 2021-01-13 10:17

I\'m working on a project to deploy a jenkins CI server on centos7 using ansible And I\'m having problems creating jenkins jobs from an xml template using ansible.

E

相关标签:
3条回答
  • 2021-01-13 10:56

    I manage my jenkins CI/CD pipelines and setup with ansible, and I rely heavily on available libraries (groovy DSL, python jenkins-job-builder) and template the guts of the the jenkins XML config using jinja2. I got asked to showcase what can be done with ansible at a local meetup, and have been working some code that I will be delivering and sharing at that meetup in the new year. I seriously think this stuff could help you a lot, I currently use this setup in my current project and can't imagine managing jenkins any other way.

    https://github.com/Azulinho/ansible-jenkins-showcase

    0 讨论(0)
  • 2021-01-13 11:13

    The command module doesn't support input and output redirection since it doesn't pass the command string to a shell. This is what its documentation says:

    It will not be processed through the shell, so variables like $HOME and operations like "<", ">", "|", and "&" will not work (use the shell module if you need these features).

    So:

    - name: create jenkins jobs with xml files
      sudo: yes
      shell: "java -jar {{ jenkins.cli_dest }} -s http://localhost:8080 create-job {{ item.name }} < {{ jenkins_dest }}/{{ item.xml_name }}"
      with_items: jenkins_jobs
    
    0 讨论(0)
  • 2021-01-13 11:14

    You can use shell redirection by executing the shell. For example, the command 'sh "echo test > hello.txt"' will work as intended. Just wrap the whole command with something like '/bin/sh "java ...>..."'.

    0 讨论(0)
提交回复
热议问题