2016-07-09 15 views
0

Ich habe diese Entwicklungsumgebung mit Eclipse als IDE, SVN als SCM und Jenkins als CI-Server.Veröffentlichen Sie versuchen Code in Jenkins vor dem Commit

Gibt es eine Möglichkeit, einen Jenkins-Job von Eclipse aus zu starten und Jenkins irgendwie zu sagen, dass er Code aus meinem Eclipse-Arbeitsbereich anstelle des SVNs nehmen soll? Ohne diesen Code in SVN zu übergeben?

Ich weiß, wie der erste Teil zu tun (einen Job starten über Mylyn/Baut), aber nicht die zweite ...

Vielleicht so etwas wie die Art und Weise in Teamcity IntelliJ IDEA integriert ist und die Art und Weise haben sie erleichtert gated commits ...

Antwort

2

Es ist keine gute Idee mit lokalen Arbeitsbereich für eine kontinuierliche Integration Tool meiner Meinung nach. Jenkins läuft auf einem Server in einer Standart-Konfiguration, nicht in einem lokalen Rechner. Ich denke, die beste Vorgehensweise für Ihr Szenario ist die Verwendung von SVN-Zweigen für Test-Commits. Konfigurieren Sie einen Job in jenkins, der mit dem SVN-Zweig arbeitet, um den Code zu checken. Fügen Sie einen Svn-Hook für jenkins hinzu, um nach dem Festschreiben zu kompilieren. Dann integrieren Sie den Zweig in den Stamm, nachdem Jenkins erfolgreich erstellt wurde.

+0

starten. Sie würden also tatsächlich an einer Zweigstelle arbeiten. Übergeben Sie den Code dort. Führen Sie den Build aus, führen Sie die Tests aus. Wenn alles ok in den Kofferraum integriert ist. Wie würden Sie die Zusammenführung automatisch durchführen? –

+0

Wenn es keinen Konflikt zwischen Zweig und Stamm gibt, ist es einfach, einfach svn merge commad auszuführen. Sie können dies mit jenkins tun, indem Sie entweder einen Build-Schritt oder nach dem Build-Schritt hinzufügen – mfidan

0

Sie können alles mit Jenkins machen. Baucode von meinem lokalen Rechner in Jenkins ist jedoch keine gute Idee. Wenn Sie überhaupt dies erreichen wollen, können Sie bestimmte Ordner für jede Änderung abfragen und über Jenkins