2013-10-02 4 views
5

Ich habe zwei Jenkins-Builds, einen zum Kompilieren und einen zum Deployment.Parameterliste in Jenkins zur Anzeige der Liste der Build-Nummern aus einem anderen Build

Der Entwickler möchte in der Lage sein, einen Build aus dem Compiler-Build auszuwählen, wenn das Deploy-Build ausgeführt wird, und nicht immer den neuesten Build.

Was ich nachher bin, ist eine Methode zum Ausfüllen eines Auswahlparameters für den Deploy-Build mit einer Liste von erfolgreichen Unstable-Builds aus dem Compile-Build.

Ich werde dann die Option verwenden, die im Parameter aufgeführt ist, um dieses Artefakt zu implementieren.

Antwort

0

Eine Option ist die Verwendung des Promoted Builds plugin zum Markieren eines bestimmten zu implementierenden Builds. Dadurch wird die Auswahl aus dem Bereitstellungs-Build in den Kompilierungs-Build verschoben. Wählen Sie die Heraufstufen-Builds, wenn ... Option in der Kompilierung erstellen und einrichten, wie Sie Promotion funktionieren möchten. Der Entwickler könnte den zu bewerbenden Build auswählen (oder automatisieren). Im Bereitstellungs-Build kann der Copy Artifact plugin den entsprechenden Build abrufen (basierend auf einem Permalink auf dem neuesten hochgestuften Build).

+0

Der Anwendungsfall von einem Einsatz pro Build scheint mit diesem Szenario abgedeckt werden. In meiner Firma haben wir mehrere verschiedene Entwicklungsumgebungen, die möglicherweise eine Bereitstellung benötigen oder nicht. Manchmal muss ein bestimmter Build möglicherweise auch mehrmals in einer Umgebung bereitgestellt werden. Ich bin skeptisch, dass dieses Szenario von Ihrer Lösung abgedeckt wird. –

+0

@Peter, einverstanden. Wir verwenden promoted-Builds für einfache Fälle und ein Freigabeverfahren für die Veröffentlichung verschiedener Builds, aber wir haben nicht die von Ihnen beschriebene Implementierungskomplexität. –

1

Soweit ich weiß, ist es nicht möglich, den Auswahlparameter aufzufüllen. Sie müssen jedoch nicht immer den neuesten Build verwenden. Ich nehme an, dass Sie die copy artifact plugin verwenden. Dieses Plugin bietet den Parameter "Selektor für Kopierartefakt erstellen". Sie müssen die Build-Nummer noch manuell eingeben, aber bei der Bereitstellung haben Sie alle Standardoptionen, wie "Letzter erfolgreicher Build", aber auch "Spezifischer Build". Sie müssen die Nummer eingeben und haben kein Dropdown, aber ich habe meine Deployer gut genug trainiert, um die Build-Nummer einzugeben.

9

Mit der Dynamic Parameters plugin

In Ihrem fördern Job:

  • [x] Dieser Build parametriert
  • Parameter hinzufügen
  • Dynamische Auswahl Parameter
  • Set Name auf was auch immer
  • Einfügen unten in Choices Script
import jenkins.model.Jenkins 
import hudson.model.AbstractProject 
import hudson.model.Result 
import hudson.util.RunList 

AbstractProject<?, ?> otherJob = Jenkins.getInstance().getItemByFullName("otherJobName", AbstractProject.class) 
RunList<?> builds = otherJob.getBuilds().overThresholdOnly(Result.SUCCESS) 

def list = builds.limit(5).collect { it.number } 

Screenshots von Wiki-Seite:

Screenshot