2013-09-06 17 views
10

Il nostro team sta passando da CVS a Git. Intendiamo utilizzare il flusso di lavoro simile come la maggior parte dei progetti open source su GitHub: ogni sviluppatore prende un fork del repository principale e quindi invia una richiesta di pull che consentirà al master del progetto di eseguire una revisione del codice prima di unire le modifiche nel repository principale.Trasferimento di tag con Jenkins Git Publisher - più repository Git (fork)

Jenkins ci consente di aggiungere più repository Git (il plugin Git standard, non quello Multiple SCM). Presumibilmente posso inserire l'URL per ciascun repository biforcuto e poi Jenkins controllerà tutti i rami per ogni cambio. Fornisco un nome ad ogni repository, ad esempio "master", "developer1", "developer2" ...

Vogliamo che Jenkins codifichi ogni build sul telecomando/fork appropriato. Il plugin Git Publisher richiede che tu fornisca il "nome remoto target", ma abbiamo bisogno che Jenkins sia in grado di capirlo da solo.

risposta

15

Sono riuscito a risolvere questo da solo.

  • Nella parte superiore della pagina di configurazione di controllo del progetto Jenkins "questa build è parametrizzato" e aggiungere un parametro stringa "a distanza" con "master" di default.
  • Add "Git Editore" come azione post-generazione, e un tag "$ BUILD_TAG" e Target nome remoto = "$ a distanza"
  • in Build trigger, selezionare "Trigger costruisce a distanza"
  • Noi' re utilizzando GitLab e sotto il menu Impostazioni progetto aggiungo una "Web Hook":

    http://my-jenkins-server.com/job/my-project/buildWithParameters?token=secret&remote=master

Aggiungi un gancio web per ogni forcella, e assicurarsi che il parametro "a distanza" corrisponde al nome repository configurato in Jenkins.