Преобразовать jenkins config.xml в yaml в используемый в jenkins_job_builder

Я использую http://ci.openstack.org/jenkins-job-builder/ для создания рабочих мест jenkins.

я добавил ansible Плагин для моих Дженкинс, и я хочу использовать его в качестве инструмента развертывания.

Когда я начну конвертировать builder раздел моей работы в yaml это прекрасно работает для большинства элементов. Но я не могу конвертировать Extra Variables или же extraVars а также limit в config.xml к ямлю.

Без extraVars а также limitМое ямл как ниже.

builders:
    - ansible-playbook:
        playbook: my_playbook.yaml
        inventory:
            path: '{host_file}'
        sudo: true

Моя работа config.xml имеет узел строителя как

<builders>
    <org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder plugin="ansible@0.8">
      <playbook>my_playbook.yaml</playbook>
      <inventory class="org.jenkinsci.plugins.ansible.InventoryPath">
        <path>hosts</path>
      </inventory>
      <limit>myhost</limit>
      <tags></tags>
      <skippedTags></skippedTags>
      <startAtTask></startAtTask>
      <credentialsId></credentialsId>
      <vaultCredentialsId></vaultCredentialsId>
      <sudo>true</sudo>
      <sudoUser></sudoUser>
      <forks>5</forks>
      <unbufferedOutput>true</unbufferedOutput>
      <colorizedOutput>false</colorizedOutput>
      <hostKeyChecking>false</hostKeyChecking>
      <additionalParameters>-b --become-method su --become-user root -u rack --extra-vars &quot;ansible_ssh_pass=************&quot; --extra-vars &quot;ansible_become_pass=************&quot;</additionalParameters>
      <copyCredentialsInWorkspace>false</copyCredentialsInWorkspace>
      <extraVars>
        <org.jenkinsci.plugins.ansible.ExtraVar>
          <key>ldap_password</key>
          <value>*******</value>
          <hidden>false</hidden>
        </org.jenkinsci.plugins.ansible.ExtraVar>
      </extraVars>
    </org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder>
</builders>

Я пытался добавить limit а также extraVars,

builders:
    - ansible-playbook:
        playbook: my_playbook.yaml
        inventory:
            path: '{host_file}'
        sudo: true
        limit: myhost
        extra-vars:
            key: ldap_password
            value: ********

Но это не работает.

Я пробовал ответы, приведенные в разделе Как преобразовать файл конфигурации конфигурации jenkins config.xml в формат YAML на python, чтобы использовать jenkins-job-builder?

Ответ1 дает ошибку для logRotator

Ответ 2 дает только в формате xml.

builders:
    - raw:
        xml: |
            <org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder plugin="ansible@0.8">
              <playbook>my_playbook.yaml</playbook>
              <inventory class="org.jenkinsci.plugins.ansible.InventoryPath">
                <path>hosts</path>
              </inventory>
              <limit>myhost</limit>
              <tags></tags>
              <skippedTags></skippedTags>
              <startAtTask></startAtTask>
              <credentialsId></credentialsId>
              <vaultCredentialsId></vaultCredentialsId>
              <sudo>true</sudo>
              <sudoUser></sudoUser>
              <forks>5</forks>
              <unbufferedOutput>true</unbufferedOutput>
              <colorizedOutput>false</colorizedOutput>
              <hostKeyChecking>false</hostKeyChecking>
              <additionalParameters>-b --become-method su --become-user root -u rack --extra-vars &quot;ansible_ssh_pass=************&quot; --extra-vars &quot;ansible_become_pass=************&quot;</additionalParameters>
              <copyCredentialsInWorkspace>false</copyCredentialsInWorkspace>
              <extraVars>
                <org.jenkinsci.plugins.ansible.ExtraVar>
                  <key>ldap_password</key>
                  <value>*******</value>
                  <hidden>false</hidden>
                </org.jenkinsci.plugins.ansible.ExtraVar>
              </extraVars>
    </org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder>

Я знаю, мне чего-то не хватает для limit а также extraVars который не конвертирует yaml правильно xml,

Что я могу изменить, с помощью которого jenkins-job-builder создать правильный XML?

0 ответов

Другие вопросы по тегам