Преобразовать 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 "ansible_ssh_pass=************" --extra-vars "ansible_become_pass=************"</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 "ansible_ssh_pass=************" --extra-vars "ansible_become_pass=************"</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?