Jenkins (Hudson)

Vi använder Jenkins, en Java-baserad continous-integration server, med ett webbgränssnitt på: https://hudson-1.sys.kth.se/hudson. Hudson är inte allmänt åtkomlig utanför KTH, utan man behöver VPN eller motsvarande för att ansluta, se http://www.lan.kth.se/vpn/. Flera av projekten installerar efter framgångsrikt bygge automatiskt ut på diverse test-servrar.

Starta om Jenkins

En del har ssh-nycklar för att logga in på servern som tomcat-användaren, tomcat-användaren kan starta om tjänsten med sudo. 

sudo service jenkins restart  # start/stop kan också användas.

Uppdatering

Bör ske med den schedulerade yum update som sker i det allmänna server-underhållet och borde då kunna aktiveras med omstart enligt ovan. Annars kan tomcat-användaren uppdatera med kommandot:

sudo yum update jenkins

Pluginer underhålls inifrån Jenkins administrationsgränssnitt.

Installation

Jenkins är numera installerad på ett mer standardmässigt sätt än tidigare med rpm ifrån ett repo som tillhandahålls av jenkinsprojektet. Mer information om hur man installerar jenkins därifrån finns här: http://pkg.jenkins-ci.org/redhat/.

Testerna i ett par projekt är beroende av att man använder Sun (Oracle) JDK istället för OpenJDK. Den finns att installera parallellt med OpenJDK som är standard på RedHat och konfigureras som standard-variant med alternatives.

yum install java-1.6.0-sun java-1.6.0-sun-devel java-1.6.0-sun-jdbc
alternatives --config java # Välj sedan Sun JRE (som /usr/lib/jvm/jre)
alternatives --config java_sdk_1.6.0 # Välj sedan Sun JDK (som /usr/lib/jvm/java)

Konfiguration

Inställningar av jenkinstjänsten görs i /etc/alternatives/jenkins. Inställningar som är gjorda är peka ut rätt JDK eftersom start-scriptet annars själv letar i en sökväg som tar OpenJDK. Användaren sätts till "tomcat" av historiska skäl, vilket gör att tomcat måste sättas som ägare till /var/log/jenkins, och Jenkins data bor i ~tomcat/var/work. Pathen sätts så att Play hittas i ~tomcat/play och default Ant i ~tomcat/ant.

Jenkins frontas av en Apache httpd som reverse-proxar in den med mod_proxy. Apache hanterar SSL-termineringen. Konfiguration i /etc/httpd/cond.d/ssl.conf och /etc/httpd/conf.d/hudson.sys.kth.se.site.conf.

Byta hårdvara

När man byter server är det ~tomcat man behöver ha med sig. Framför allt är det Jenkins data i ~tomcat/var/work som är väsentligt. Vidare är en del byggen beroende av brandväggshål i Umeå, både IP och DNS måste vara rätt, liksom host-certifikatet (/etc/pki/tls). Vidare måste Java-miljön ha tillgång till det cert som behövs för att koppla upp mot Ture, se dist-katalogen i student-projektet (MSS). Ett sätt att få till det är att göra lägga det i /etc/pki/java/cacerts och se till att Sun JDK/JRE använder den genom att mjuklänka in den på rätt ställe, de använder inte den per default.

Fredrik Jönsson skapade sidan 22 november 2011

Fredrik Jönsson redigerade 22 november 2011

Vi använder Jenkins, en Java-baserad continous-integration server, med ett webbgränssnitt på: https://hudson-1.sys.kth.se/hudson. Hudson är inte allmänt åtkomlig utanför KTH, utan man behöver VPN eller motsvarande för att ansluta, se http://www.lan.kth.se/vpn/. Flera av projekten installerar efter framgångsrikt bygge automatiskt ut på diverse test-servrar.

Starta om Jenkins En del har ssh-nycklar för att logga in på servern som tomcat-användaren, tomcat-användaren kan starta om tjänsten med sudo. 

sudo service jenkins restart  # start/stop kan också användas.

Uppdatering Bör ske med den schedulerade yum update som sker i det allmänna server-underhållet och borde då kunna aktiveras med omstart enligt ovan. Annars kan tomcat-användaren uppdatera med kommandot:

sudo yum update jenkins

Installation Jenkins är numera installerad på ett mer standardmässigt sätt än tidigare med rpm ifrån ett repo som tillhandahålls av jenkinsprojektet. Mer information om hur man installerar jenkins därifrån finns här: http://pkg.jenkins-ci.org/redhat/.

Testerna i ett par projekt är beroende av att man använder Sun (Oracle) JDK istället för OpenJDK. Den finns att installera parallellt med OpenJDK som är standard på RedHat och konfigureras som standard-variant med alternatives.

yum install java-1.6.0-sun java-1.6.0-sun-devel java-1.6.0-sun-jdbcalternatives --config java # Välj sedan Sun JRE (som /usr/lib/jvm/jre)alternatives --config java_sdk_1.6.0 # Välj sedan Sun JDK (som /usr/lib/jvm/java)

Konfiguration Inställningar av jenkinstjänsten görs i /etc/alternatives/jenkins. Inställningar som är gjorda är peka ut rätt JDK eftersom start-scriptet annars själv letar i en sökväg som tar OpenJDK. Användaren sätts till "tomcat" av historiska skäl, vilket gör att tomcat måste sättas som ägare till /var/log/jenkins, och Jenkins data bor i ~tomcat/var/work. Pathen sätts så att Play hittas i ~tomcat/play och default Ant i ~tomcat/ant.

Jenkins frontas av en Apache httpd som reverse-proxar in den med mod_proxy. Apache hanterar SSL-termineringen. Konfiguration i /etc/httpd/cond.d/ssl.conf och /etc/httpd/conf.d/hudson.sys.kth.se.site.conf.

Byta hårdvara När man byter server är det ~tomcat man behöver ha med sig. Framför allt är det Jenkins data i ~tomcat/var/work som är väsentligt. Vidare är en del byggen beroende av brandväggshål i Umeå, både IP och DNS måste vara rätt, liksom host-certifikatet (/etc/pki/tls). Vidare måste Java-miljön ha tillgång till det cert som behövs för att koppla upp mot Ture, se dist-katalogen i student-projektet (MSS). Ett sätt att få till det är att göra lägga det i /etc/pki/java/cacerts och se till att Sun JDK/JRE använder den genom att mjuklänka in den på rätt ställe, de använder inte den per default.

Fredrik Jönsson redigerade 22 november 2011

Vi använder Jenkins, en Java-baserad continous-integration server, med ett webbgränssnitt på: https://hudson-1.sys.kth.se/hudson. Hudson är inte allmänt åtkomlig utanför KTH, utan man behöver VPN eller motsvarande för att ansluta, se http://www.lan.kth.se/vpn/. Flera av projekten installerar efter framgångsrikt bygge automatiskt ut på diverse test-servrar.

Starta om Jenkins En del har ssh-nycklar för att logga in på servern som tomcat-användaren, tomcat-användaren kan starta om tjänsten med sudo. 

sudo service jenkins restart  # start/stop kan också användas. Uppdatering Bör ske med den schedulerade yum update som sker i det allmänna server-underhållet och borde då kunna aktiveras med omstart enligt ovan. Annars kan tomcat-användaren uppdatera med kommandot:

sudo yum update jenkins Installation Jenkins är numera installerad på ett mer standardmässigt sätt än tidigare med rpm ifrån ett repo som tillhandahålls av jenkinsprojektet. Mer information om hur man installerar jenkins därifrån finns här: http://pkg.jenkins-ci.org/redhat/.

Testerna i ett par projekt är beroende av att man använder Sun (Oracle) JDK istället för OpenJDK. Den finns att installera parallellt med OpenJDK som är standard på RedHat och konfigureras som standard-variant med alternatives.

yum install java-1.6.0-sun java-1.6.0-sun-devel java-1.6.0-sun-jdbcalternatives --config java # Välj sedan Sun JRE (som /usr/lib/jvm/jre)alternatives --config java_sdk_1.6.0 # Välj sedan Sun JDK (som /usr/lib/jvm/java) Konfiguration Inställningar av jenkinstjänsten görs i /etc/alternatives/jenkins. Inställningar som är gjorda är peka ut rätt JDK eftersom start-scriptet annars själv letar i en sökväg som tar OpenJDK. Användaren sätts till "tomcat" av historiska skäl, vilket gör att tomcat måste sättas som ägare till /var/log/jenkins, och Jenkins data bor i ~tomcat/var/work. Pathen sätts så att Play hittas i ~tomcat/play och default Ant i ~tomcat/ant.

Jenkins frontas av en Apache httpd som reverse-proxar in den med mod_proxy. Apache hanterar SSL-termineringen. Konfiguration i /etc/httpd/cond.d/ssl.conf och /etc/httpd/conf.d/hudson.sys.kth.se.site.conf.

Byta hårdvara När man byter server är det ~tomcat man behöver ha med sig. Framför allt är det Jenkins data i ~tomcat/var/work som är väsentligt. Vidare är en del byggen beroende av brandväggshål i Umeå, både IP och DNS måste vara rätt, liksom host-certifikatet (/etc/pki/tls). Vidare måste Java-miljön ha tillgång till det cert som behövs för att koppla upp mot Ture, se dist-katalogen i student-projektet (MSS). Ett sätt att få till det är att göra lägga det i /etc/pki/java/cacerts och se till att Sun JDK/JRE använder den genom att mjuklänka in den på rätt ställe, de använder inte den per default.

Fredrik Jönsson redigerade 22 november 2011

Vi använder Jenkins, en Java-baserad continous-integration server, med ett webbgränssnitt på: https://hudson-1.sys.kth.se/hudson. Hudson är inte allmänt åtkomlig utanför KTH, utan man behöver VPN eller motsvarande för att ansluta, se http://www.lan.kth.se/vpn/. Flera av projekten installerar efter framgångsrikt bygge automatiskt ut på diverse test-servrar.

Starta om Jenkins En del har ssh-nycklar för att logga in på servern som tomcat-användaren, tomcat-användaren kan starta om tjänsten med sudo. 

sudo service jenkins restart  # start/stop kan också användas. Uppdatering Bör ske med den schedulerade yum update som sker i det allmänna server-underhållet och borde då kunna aktiveras med omstart enligt ovan. Annars kan tomcat-användaren uppdatera med kommandot:

sudo yum update jenkins Installation Jenkins är numera installerad på ett mer standardmässigt sätt än tidigare med rpm ifrån ett repo som tillhandahålls av jenkinsprojektet. Mer information om hur man installerar jenkins därifrån finns här: http://pkg.jenkins-ci.org/redhat/.

Testerna i ett par projekt är beroende av att man använder Sun (Oracle) JDK istället för OpenJDK. Den finns att installera parallellt med OpenJDK som är standard på RedHat och konfigureras som standard-variant med alternatives.

yum install java-1.6.0-sun java-1.6.0-sun-devel java-1.6.0-sun-jdbcalternatives --config java # Välj sedan Sun JRE (som /usr/lib/jvm/jre)alternatives --config java_sdk_1.6.0 # Välj sedan Sun JDK (som /usr/lib/jvm/java) Konfiguration Inställningar av jenkinstjänsten görs i /etc/alternatives/jenkins. Inställningar som är gjorda är peka ut rätt JDK eftersom start-scriptet annars själv letar i en sökväg som tar OpenJDK. Användaren sätts till "tomcat" av historiska skäl, vilket gör att tomcat måste sättas som ägare till /var/log/jenkins, och Jenkins data bor i ~tomcat/var/work. Pathen sätts så att Play hittas i ~tomcat/play och default Ant i ~tomcat/ant.

Jenkins frontas av en Apache httpd som reverse-proxar in den med mod_proxy. Apache hanterar SSL-termineringen. Konfiguration i /etc/httpd/cond.d/ssl.conf och /etc/httpd/conf.d/hudson.sys.kth.se.site.conf.

Byta hårdvara När man byter server är det ~tomcat man behöver ha med sig. Framför allt är det Jenkins data i ~tomcat/var/work som är väsentligt. Vidare är en del byggen beroende av brandväggshål i Umeå, både IP och DNS måste vara rätt, liksom host-certifikatet (/etc/pki/tls). Vidare måste Java-miljön ha tillgång till det cert som behövs för att koppla upp mot Ture, se dist-katalogen i student-projektet (MSS). Ett sätt att få till det är att göra lägga det i /etc/pki/java/cacerts och se till att Sun JDK/JRE använder den genom att mjuklänka in den på rätt ställe, de använder inte den per default.

Fredrik Jönsson taggade med java, utveckling och jenkins. 22 november 2011

Administratör kommenterade 29 april 2013

Nu finns OpenJDK 7 och Oracle JDK 7 installerade på hudson (tack abo).

Jdk 6 är fortfarande standard, för att använda 7 behöver man sätta en build parameter:

  1. In the job configuration page Tick "This build is parameterized"
  2. Add an new String parameter called JAVA_HOME and with the default value set to the JDK location

Sökvägarna för JAVA_HOME är :

/usr/lib/jvm/java-1.7.0-openjdk.x86_64
/usr/lib/jvm/java-1.7.0-oracle.x86_64

Administratör Lina Magdalinski ändrade rättigheterna 24 mars 2015

Kan därmed läsas av alla och ändras av teammedlemmar.
Feedback Nyheter