meierw.jenkins_job_dsl_exec
jenkins_job_dsl_exec
Ansible-Rolle, die ein temporäres Jenkins-Job erstellt, ausführt und anschließend löscht, das ein Job DSL-Skript enthält.
Anforderungen
- Ein Jenkins-Dienst mit installiertem
Job DSL
-Plugin. - Die Fähigkeit, jenkins_script gegen den genannten Jenkins-Dienst auszuführen.
Rollenvariablen
jenkins_job_dsl_url: http://localhost:8080
jenkins_job_dsl_user: admin
jenkins_job_dsl_password: admin
Die URL, der Benutzername und das Passwort zur Authentifizierung bei Jenkins. Diese werden verwendet, um jenkins_script
auszuführen.
jenkins_job_dsl_temp_job_name: C4lpe7GMX8S0pdZV6RWbKAkBfKWCPAOgAL9MGL03
Der Name des temporären Jobs, der für die Ausführung des DSL-Skripts verwendet wird. Sollte als komplizierte Zeichenfolge beibehalten werden, um Kollisionen mit tatsächlichen Jobnamen zu vermeiden.
jenkins_job_dsl_content: |
job('dsl-example-job') {
steps {
shell('echo Hello world!')
}
}
Das DSL-Skript, das ausgeführt wird. Du kannst es inline angeben wie im Beispiel,
oder etwas wie jenkins_job_dsl_content: "{{ lookup('file', 'files/myDslScript.groovy') }}"
verwenden, wenn du dein Playbook ordentlicher gestalten möchtest.
jenkins_job_dsl_temp_job_run: true
Soll der neu erstellte temporäre Job ausgeführt werden? Du möchtest dies möglicherweise deaktivieren, wenn du einen anderen Plan hast, wann oder wie du ihn ausführen möchtest.
jenkins_job_dsl_temp_job_delete: true
Soll der temporäre Job nach der Ausführung gelöscht werden?
Du möchtest dies möglicherweise deaktivieren, wenn du nicht das gewünschte Ergebnis bekommst und das Build-Protokoll in Jenkins überprüfen möchtest.
Führt nichts aus, wenn jenkins_job_dsl_temp_job_run
auf false ist.
jenkins_job_dsl_temp_job_running_checks: 10
Wie oft soll die Rolle überprüfen, ob der Job beendet ist, bevor er gelöscht wird?
Die Rolle führt jede Sekunde eine Überprüfung durch, daher ist diese Anzahl auch das Zeitlimit für die Überprüfung in Sekunden.
Führt nichts aus, wenn jenkins_job_dsl_temp_job_delete
auf false ist.
Beispiel-Playbook
- hosts: servers
roles:
- { role: meierw.jenkins_job_dsl_exec }
Lizenz
MIT
Autoreninformation
- Autor: Walter Meier
Creates, executes and then deletes a temporary Jenkins job containing a Job DSL script.
ansible-galaxy install meierw.jenkins_job_dsl_exec