Die Gruppe, in der ich arbeite, hat Jenkins für Continuous Integration Builds standardisiert. Code-Check-in löst eine Standard-Build-, Cobertura-Analyse aus und veröffentlicht sie in einem Artifactory SNAPSHOT Repo. Ich habe gerade ein neues Ziel zur Master-Build-Datei hinzugefügt, das einen Sonar-Lauf startet, aber ich möchte nicht, dass es bei jedem Check-in ausgeführt wird.
Gibt es eine Möglichkeit, einen nächtlichen Build eines bestimmten Build-Ziels in Jenkins zu planen? Jenkins erleichtert offensichtlich geplante Builds, aber es wird jedes Mal den regulären Build des Projekts ausführen. Ich möchte in der Lage sein, das Sonar-Build-Ziel für die nächtliche Ausführung zu planen.
Ich könnte natürlich ein separates Jenkins-Projekt erstellen, nur um das Sonar-Ziel nach einem Zeitplan auszuführen, aber ich versuche, das zu vermeiden, wenn ich kann. Unser Jenkins-Server hat bereits mehrere hundert Builds darauf; das zu verdoppeln, um nächtliche Builds zu planen, ist nicht sehr wünschenswert. Ich suchte nach einem Jenkins Plug-in, das das vielleicht erleichtern würde, aber ich konnte nichts finden. Irgendwelche Vorschläge?
Hier ist eine Möglichkeit, dies zu tun, wenn Sie den Build mit cron
oder einem anderen Zeitplanungswerkzeug auslösen:
http://[jenkins-host]/jobs/[jobname]/buildWithParameters
übergeben. Je nach Jenkins-Version und -Konfiguration müssen Sie möglicherweise ein Authentifizierungs-Token hinzufügen und dies in deine URL aufnehmen. Authentifizieren Sie Ihren POST mit einem Benutzernamen und einem Passwort.
wget --auth-no-challenge --http-user=USERNAME --http-password=PASSWORD "https://[jenkins-host]/job/[jobname]/buildWithParameters?token=<token defined in job configuration>&<param>=<value>&<param2>=<value2>"
Ich suche auch nach einer Lösung dafür. Meine derzeitige Lösung in meinem Kopf ist es, 2 Trigger im regulären Build zu erstellen, einer ist der nächtliche Build, ein anderer ist Polling SCM
In der Sonar-Plugin-Konfiguration gibt es die Möglichkeit, die von der SCM-Änderung ausgelösten Builds zu überspringen. Daher startet nur der nächtliche Build eine Sonaranalyse.
Ich hatte keine Chance, es jetzt zu testen, aber ich denke, das wird funktionieren.
Aktualisiert am 19.12.2011 Die obige Lösung funktioniert nicht, wenn die Sonaranalyse als eigenständiger Build-Schritt aufgerufen wird. Um die Sonaranalyse bedingt durchzuführen, können Sie die folgenden 2 Plugins verwenden:
Tags und Links jenkins continuous-integration sonarqube hudson