Jenkins CI Server: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
(Replaced content with "== NOT IN USE ANYMORE == We are not using Jenkins anymore. We have nightly builds and tests at on LBS these days. See Continuous Integration with LightBuildServer")
Tag: Replaced
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Ubuntu ==
== NOT IN USE ANYMORE ==
* installed on Ubuntu 11.10 (Oneiric Ocelot)
We are not using Jenkins anymore.


apt-get remove apache bind9
We have nightly builds and tests at on LBS these days. See [[Continuous Integration with LightBuildServer]]
 
== Mono ==
* using Mono 2.10 for best support for c# 4.0 etc
apt-get install mono-runtime mono-xbuild mono-gmcs
 
* for msgfmt to work for the i18n, processing of language files, you need to run:
ln -s /usr/bin/gmcs /usr/bin/mcs
 
== other development tools ==
apt-get install bzr doxygen graphviz sqlite3 postgresql libpg-java dos2unix fakeroot lintian nsis
 
=== setup SchemaSpy ===
* Download SchemaSpy_5.0.0.jar from http://schemaspy.sourceforge.net/
 
cd /var/tmp/OpenPetraBuild
vi /etc/postgresql/9.1/main/pg_hba.conf and add at top: <code>local  all            petraserver    md5</code>
nant recreateDatabase resetDatabase -D:DBMS.Type=postgresql
 
java -jar schemaSpy_5.0.0.jar -t pgsql -dp /usr/share/java/postgresql-jdbc4.jar -host localhost:5432 -db openpetra -u petraserver -p petra -s public -o outputDir
 
== NAnt ==
* apt-get install nant
* then download latest NAnt, NAnt 0.91 Release
* unpack tar.gz file to /usr/local/nant-0.91
* modify /usr/bin/nant and point at /usr/local/nant-0.91/bin/NAnt.exe
 
 
* somehow, there is a problem when building for mono-2.0 or mono-4.0. The solution is to have two NAnt profiles:
the default <code>/usr</code> and the other is <code>/usr/local/nant-for-4.0</code>
 
/usr/bin/nant:
#!/bin/sh
#exec /usr/bin/cli /usr/lib/NAnt/NAnt.exe "$@"
mono --runtime=v2.0 /usr/local/nant-0.91/bin/NAnt.exe "$@"
 
/usr/local/nant-for-4.0/bin/nant:
#!/bin/sh
#exec /usr/bin/cli /usr/lib/NAnt/NAnt.exe "$@"
mono --runtime=v4.0 /usr/local/nant-0.91/bin/NAnt.exe "$@"
 
== Jenkins ==
* http://pkg.jenkins-ci.org/debian-stable/
 
wget -q -O - http://pkg.jenkins-ci.org/debian-stable/jenkins-ci.org.key | sudo apt-key add -
vi /etc/apt/sources.list:
  deb http://pkg.jenkins-ci.org/debian-stable binary/
 
apt-get update
apt-get install jenkins
 
* change port to 80: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
** better to use lighttpd because Apache needs another 200 MB of RAM.
** /etc/lighttpd/lighttpd.conf
add mod_proxy to the server.modules list, and at the bottom:
proxy.server = (
    "/" => (( "host" => "127.0.0.1", "port" => 8080)),
)
 
* setup security: https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup
 
* installed plugins:
** Bazaar Plugin [https://wiki.jenkins-ci.org/display/JENKINS/Bazaar+Plugin]
** DocLinks Plugin [https://wiki.jenkins-ci.org/display/JENKINS/DocLinks+Plugin]
** Email-ext Plugin [https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin]
** Log Parser Plugin [https://wiki.jenkins-ci.org/display/JENKINS/Log+Parser+Plugin]
** NAnt Plugin [https://wiki.jenkins-ci.org/display/JENKINS/NAnt+Plugin]
** Build-timeout Plugin [https://wiki.jenkins-ci.org/display/JENKINS/Build-Timeout+Plugin]
 
=== backup ===
see also https://wiki.jenkins-ci.org/display/JENKINS/Administering+Jenkins
tar czf jenkins.tar.gz --exclude '/var/lib/jenkins/jobs/OpenPetraCodeDoc/javadoc/*' --exclude '/var/lib/jenkins/jobs/OpenPetraCodeDoc/schemaSpy/*' /var/lib/jenkins/
 
== Jenkins on Windows ==
* similar setup to Jenkins on Ubuntu
* http://ci-win.solidcharity.com/
* the jobs OpenPetraBuildWin and OpenpetraBuildTestWin have their own OpenPetra.build.config file, stored in eg. C:\Program Files (x86)\Jenkins\workspace\OpenPetraBuildWin
<?xml version="1.0"?>
<project name="OpenPetra-userconfig">
    <property name="PostgreSQL.Version" value="9.1"/>
    <property name="DBMS.DBHostOrFile" value="devdb.solidcharity.com"/>
    <property name="DBMS.DBName" value="buildserver"/>
    <property name="DBMS.Setup.DBName" value="openpetra_basedb2"/>
    <property name="DBMS.UserName" value="buildserver"/>
    <property name="DBMS.Password" value="???"/>
    <property name="Server.DebugLevel" value="0"/>
    <property name="Server.Port" value="9432" />
</project>
 
== Additional comments ==
Jenkins can also be a help translating openpetra.
By this, translators can work on a translation online and on the next day get an installer including already their translated items. This makes it easier for translators because then they can see their translations right away.
 
[We tried "Nullsoft Install" for building Windows Installers but due to some complications there's now running aswell a windows-Jenkins which uses InnoSetup to build the windows Installer.]

Latest revision as of 04:58, 16 March 2023

NOT IN USE ANYMORE

We are not using Jenkins anymore.

We have nightly builds and tests at on LBS these days. See Continuous Integration with LightBuildServer