© best_vector/Shutterstock.com
Windows Developer
Codereview mit dem Open-Source-System Gerrit

Erfolgreiche Reviews 2

Im ersten Teil dieser Serie [1] haben wir ein lauffähiges Reviewsystem mit dem Reviewtool Gerrit in Betrieb genommen. Jetzt wollen wir den Code mit dem Continuous Integration Server Jenkins automatisch überprüfen lassen und damit einen Teil des Reviews automatisieren.

Christian Erhardt, Sebastian Main


ArtikelserieTeil 1: Codereviews mit dem Open-Source-System GerritTeil 2: Erfolgreiche Reviews 2Teil 2: Erfolgreiche Reviews 2Konkret sieht die Zielarchitektur so aus, dass Jenkins einen definierten „Verify“-Job erhält, welcher von Gerrit angestoßen wird, sobald vom Entwickler ein Change­set hochgeladen wird. Gerrit richten wir so ein, dass eine Eigenschaft "Verified" gesetzt wird, wenn der Build erfolgreich war. Der Change kann nur dann in den gemeinsamen Codestand übernommen werden, wenn der "Verified" erreicht wurde. Diese Integration ist zwar nicht ganz einfach einzurichten, belohnt uns aber mit qualitativ besserem Code, direktem Feedback für den Entwickler und einer Plattform, die nahezu beliebig erweitert werden kann.Gerrit vorbereiten$ mkdir gerritconfig$ cd gerritconfig$ git init$ git remote add origin ssh://admin@GerritServerIP:29418/All-Projects$ git fetch origin refs/meta/config:refs/remotes/origin/meta/config$ git checkout meta/config[label "Verified"] function = MaxWithBlock value = -1 Fails value = 0 No score value = +1 Verified$ git commit –a –m "Label verify added"$ git push origin HEAD:refs/meta/configVerbindung herstellenTippEgal, wie Sie Ihre Umgebung gestalten und mit welchen Tools Sie arbeiten, empfehlen wir Ihnen, den Installationsablauf gut zu dokumentieren oder sich über den Einsatz von Konfigurationsmanagementtools wie Puppet oder Chef Gedanken zu machen. Dies erleichtert es neuen Mitarbeitern, ihre Entwicklungsmaschinen aufzusetzen. Weiterhin kann der CI-Server schon bei wenigen Entwicklern schnell an seine Belastungsgrenze kommen, wenn viele Build-Jobs laufen. Jenkins kann in diesem Fall weitere Rechner als Slaves an einen Masterserver anhängen und die Build-Jobs auf diesen verteilen. Diese müssen natürlich alle identisch aufgesetzt werden.Listing 1$ git config --global user.name "jenkins"$ git config --global commiter.name "jenkins"$ git config --global user.email "jenkins@awesomeinc.org"$ ssh-keygen.exe –C jenkins@awesomeinc.org$ git config --global user.name "jenkins"$ git config --global commiter.name "jenkins"$ git config --global user.email "jenkins@awesomeinc.org"$ ssh-keygen.exe –C jenkins@awesomeinc.org$ ssh jenkins@GerritServerIP –p 29418Jetzt fehlt noch die Verbindung zum Gerrit-Server, die wir in der Verwaltung unter „Gerrit Trigger“ vornehmen. Die notwendigen Einstellungen finden Sie in Abbildung 1, und wenn Sie „Test Connection“ betätigen, bekommen Sie eine positive Rückmeldung. Am Ende der Seite star...

Windows Developer
Codereview mit dem Open-Source-System Gerrit

Erfolgreiche Reviews 2

Im ersten Teil dieser Serie [1] haben wir ein lauffähiges Reviewsystem mit dem Reviewtool Gerrit in Betrieb genommen. Jetzt wollen wir den Code mit dem Continuous Integration Server Jenkins automatisch überprüfen lassen und damit einen Teil des Reviews automatisieren.

Christian Erhardt, Sebastian Main


ArtikelserieTeil 1: Codereviews mit dem Open-Source-System GerritTeil 2: Erfolgreiche Reviews 2Teil 2: Erfolgreiche Reviews 2Konkret sieht die Zielarchitektur so aus, dass Jenkins einen definierten „Verify“-Job erhält, welcher von Gerrit angestoßen wird, sobald vom Entwickler ein Change­set hochgeladen wird. Gerrit richten wir so ein, dass eine Eigenschaft "Verified" gesetzt wird, wenn der Build erfolgreich war. Der Change kann nur dann in den gemeinsamen Codestand übernommen werden, wenn der "Verified" erreicht wurde. Diese Integration ist zwar nicht ganz einfach einzurichten, belohnt uns aber mit qualitativ besserem Code, direktem Feedback für den Entwickler und einer Plattform, die nahezu beliebig erweitert werden kann.Gerrit vorbereiten$ mkdir gerritconfig$ cd gerritconfig$ git init$ git remote add origin ssh://admin@GerritServerIP:29418/All-Projects$ git fetch origin refs/meta/config:refs/remotes/origin/meta/config$ git checkout meta/config[label "Verified"] function = MaxWithBlock value = -1 Fails value = 0 No score value = +1 Verified$ git commit –a –m "Label verify added"$ git push origin HEAD:refs/meta/configVerbindung herstellenTippEgal, wie Sie Ihre Umgebung gestalten und mit welchen Tools Sie arbeiten, empfehlen wir Ihnen, den Installationsablauf gut zu dokumentieren oder sich über den Einsatz von Konfigurationsmanagementtools wie Puppet oder Chef Gedanken zu machen. Dies erleichtert es neuen Mitarbeitern, ihre Entwicklungsmaschinen aufzusetzen. Weiterhin kann der CI-Server schon bei wenigen Entwicklern schnell an seine Belastungsgrenze kommen, wenn viele Build-Jobs laufen. Jenkins kann in diesem Fall weitere Rechner als Slaves an einen Masterserver anhängen und die Build-Jobs auf diesen verteilen. Diese müssen natürlich alle identisch aufgesetzt werden.Listing 1$ git config --global user.name "jenkins"$ git config --global commiter.name "jenkins"$ git config --global user.email "jenkins@awesomeinc.org"$ ssh-keygen.exe –C jenkins@awesomeinc.org$ git config --global user.name "jenkins"$ git config --global commiter.name "jenkins"$ git config --global user.email "jenkins@awesomeinc.org"$ ssh-keygen.exe –C jenkins@awesomeinc.org$ ssh jenkins@GerritServerIP –p 29418Jetzt fehlt noch die Verbindung zum Gerrit-Server, die wir in der Verwaltung unter „Gerrit Trigger“ vornehmen. Die notwendigen Einstellungen finden Sie in Abbildung 1, und wenn Sie „Test Connection“ betätigen, bekommen Sie eine positive Rückmeldung. Am Ende der Seite star...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang