Jenkins och Gerrit under Tomcat 8 i Debian Wheezy
Todo: Skriv om hur man initierar databas kopplingen och ordningen. Så man kan kopiera från Gerrit.
Denna artikel beskriver hur man kör Jenkins & Gerrit under Tomcat 8 i Debian Wheezy. Artikeln går bara igenom hur man installerar Tomcat 8 och hur man installerar Jenkins & Gerrit, inte hur man sedan konfiguerar dessa applikationer.
Tomcat 8 för Debian Wheezy hämtar man från wheezy-backports. Tomcat 8 kräver Java 7 eller senare.
Installera Tomcat 8
Installera tomcat8, tomcat8-admin och tomcat8-docs:
Verifiera att Tomcat 8 har startats genom att browse:a till sidan: http://localhost:8080.
Addera en admin användare
För att kunna komma åt via Tomcat sidor behöver man tillhöra rollen manager-gui eller admin-gui. Skapa därför en admin användare genom att lägga till följande i filen /etc/tomcat8/tomcat-users.xml:
<tomcat-users> <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="<username>" password="<password>" roles="manager-gui,admin-gui"/> </tomcat-users>
Ange valfritt användarnamn och lösenord. Testa att du nu kommer åt admin sidan i Tomcat.
Förbereda Tomcat för Gerrit
Sätt upp JDBC (Java databasanslutning) för Gerrit
PostgreSQL
Ladda ner JDBC för PostgreSQL här. Till PostgreSQL-9.1 och Java 7 verkar version 9.3 för JDBC41 fungera bra. Spara JAR filen i katalogen /usr/share/tomcat8/lib.
Konfiguera sedan kopplingen till PostgreSQL-databasen genom att lägga till följande i filen /etc/tomcat8/context.xml:
<Context> <Resource name="jdbc/ReviewDb" auth="Container" type="javax.sql.DataSource" username="<username>" password="<password>" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/<database>" /> </Context>
Ange namnet på databasen, namnet på databasanvändaren och dess lösenord.
MySQL/MariaDB
Ladda ner JDBC för MySQL här. Packa upp och spara JAR filen i katalogen /usr/share/tomcat8/lib. Konfiguera sedan kopplingen till MySQL-databasen genom att lägga till följande i filen /etc/tomcat8/context.xml:
<Context> <Resource name="jdbc/ReviewDb" auth="Container" type="javax.sql.DataSource" username="<username>" password="<password>" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/<database>" /> </Context>
Ange namnet på databasen, namnet på databasanvändaren och dess lösenord.
H2
h2 JDBC stödet kan vi extrahera ur gerrit.war filen. För att veta vad filen heter, kör:
Sen kan man extrahera h2 filen och spara den under /usr/share/tomcat8/lib via kommandot:
(Exakt kommando beror på vilken h2 version som Gerrit har)
Konfiguera sedan kopplingen till H2-databasen genom att lägga till följande i filen /etc/tomcat8/context.xml:
<Context> <Resource name="jdbc/ReviewDb" type="javax.sql.DataSource" username="" password="" driverClassName="org.h2.Driver" url="jdbc:h2:file:/var/lib/gerrit/review_site/db/ReviewDB" maxActive="100" maxIdle="20" /> </Context>
Justera sökvägen till databasen om den inte läggs i katalogen /var/lib/gerrit/review_site/db.
Inställning av Jenkins och Gerrit hemkatalog
För att välja var Jenkins och Gerrit filerna sparas, sätt variablerna JENKINS_HOME och GERRIT_SITE. Om vi vill ha Jenkins under /var/lib/jenkins och Gerrit under /var/lib/gerrit/review_site, lägg till följande i /etc/default/tomcat8:
CATALINA_OPTS="-DJENKINS_HOME=/var/lib/jenkins -DGERRIT_SITE=/var/lib/gerrit/review_site"
Installera Gerrit
Ladda ner Gerrit. Döp om filen till gerrit.war, men lägg den ännu inte under /var/lib/tomcat8/webapps. Vi behöver initiera Gerrit först. Kör kommandona:
Ställ in Gerrit som vanligt, men man kan nog mata in vilken URL listen port som helst. Canonical URL ställer du in till http://<webadress>:8080/gerrit. Användaren för container processen ska sättas till tomcat8, dvs den användare som kör Tomcat servern.
Då Gerrit kör all kommunikation över SSH krävs kryptostöd. Under initieringen av Gerrit, se till att ladda ner Bouncycastle biblioteken. Vi behöver kopiera dessa till Tomcat.
När initieringen är klar, kopiera bcprov och bcpkix JAR filerna från /var/lib/gerrit/review_site/lib och lägg dom under /usr/share/tomcat8/lib. Starta om Tomcat servern:
Då Gerrit kommer köras som samma användare som kör Tomcat, se till att review_site mappen har tomcat8 som ägare och grupp:
Nu kan vi deploy:a Gerrit genom att kopiera eller flytta gerrit.war filen till katalogen /var/lib/tomcat8/webapps. Efter en kort stund kommer applikationen auto-deploy:as och katalogen /var/lib/tomcat8/webapps/gerrit kommer skapas. Kolla på Tomcat admin sidan om applikationen startat ordentligt. Om inte, försök felsöka genom att titta i loggarna under /var/log/tomcat8. Om allt verkar ok, försök logga in i Gerrit: http://localhost:8080/gerrit/
Installera Jenkins
Jenkins kräver ingen initiering som Gerrit. Det räcker att skapa hemkatalogen och se till att den har tomcat8 som ägare och grupp:
Ladda ner Jenkins .war filen, döp om den till jenkins.war och flytta den till katalogen /var/lib/tomcat8/webapps. Efter en kort stund kommer applikationen auto-deploy:as och katalogen /var/lib/tomcat8/webapps/jenkins kommer skapas. Kolla på Tomcat admin sidan om applikationen startat ordentligt. Om inte, försök felsöka genom att titta i loggarna under /var/log/tomcat8. Om allt verkar ok, försök öppna Jenkins: http://localhost:8080/jenkins/