2015-02-23 6 views
5

Ho alcuni lavori Jenkins. Sembrano molto simili tra loro e si differenziano solo nei dettagli. Originariamente sono stati creati copiando il primo lavoro. Se qualcosa cambia in una delle configurazioni di lavoro, deve essere applicato a tutte le altre configurazioni di lavoro. Ciò rende la manutenzione di Jenkins più complessa, più lunga e soggetta a errori.Condivisione della configurazione tra i lavori

Quello che mi piacerebbe fare è tirare su almeno alcune parti comuni della configurazione dei lavori e tenerlo in un posto quindi non devo applicare ogni modifica di configurazione a tutti i lavori separatamente. È possibile, e se è così, come può essere raggiunto?

Mi piacerebbe non creare un nuovo progetto o modificare il modo in cui sono strutturati i lavori (dipendenze upstream-downstream) poiché tutti questi lavori sono legacy.

Grazie in anticipo!

risposta

3

Ci sono diversi plugin che aiutano in questo. Inheritance mi viene in mente il plug-in

+0

sembra interessante, lo controllerò :) –

+0

questo plugin ha fatto il lavoro perfettamente –

1

Puoi anche dare un'occhiata allo Template Project plugin.

Con questo plug-in, è possibile utilizzare i builder, i publisher e le impostazioni SCM da un lavoro di modello.

Stiamo utilizzando questo plugin nella mia azienda e funziona bene :)

0

Penso Jenkins DSL Plugin può essere usato per risolvere anche questo problema.

accordding alla sua summuary:

Jenkins è un meraviglioso sistema per la gestione costruisce, e la gente ama utilizzando la sua interfaccia utente per configurare i lavori. Sfortunatamente, man mano che il numero di lavori cresce, il loro mantenimento diventa noioso e il paradigma di utilizzare un'interfaccia utente si rompe. Inoltre, lo schema comune in questa situazione è per copiare i lavori per crearne di nuovi, questi "bambini" hanno l'abitudine di divergenti dal loro "modello" originale e conseguentemente diventa difficile mantenere la coerenza tra questi lavori.

Abilita una creazione programmatica di lavori utilizzando un linguaggio specifico del dominio Groovy.