mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
91 lines
2.9 KiB
Plaintext
91 lines
2.9 KiB
Plaintext
|
|
= Setting up a Jenkins Build Server =
|
|
|
|
**Assumption:** You know how to make a working build environment and want to
|
|
deploy it under Jenkins for continuous integration testing now.
|
|
|
|
These notes are terse, I will expand on them later as the need arises. The
|
|
procedure is:
|
|
|
|
- Install Jenkins and get it configured according to your own preferences
|
|
- Make sure you have the git, github, junit etc plugins installed. A complete
|
|
list of the plugins I have installed follows (note that you almost certainly
|
|
don't need evey plugin listed here):
|
|
- External Monitor Job Type Plugin
|
|
- LDAP Plugin
|
|
- pam-auth
|
|
- javadoc
|
|
- ant
|
|
- Jenkins Subversion Plug-in
|
|
- Git Plugin
|
|
- Maven 2 Project Plugin
|
|
- Jenkins SLOCCount Plug-in
|
|
- Jenkins Sounds plugin
|
|
- Jenkins Translation Assistance plugin
|
|
- ruby-runtime
|
|
- Jenkins CVS Plug-in
|
|
- Coverage/Complexity Scatter Plot PlugIn
|
|
- Status Monitor Plugin
|
|
- Git Parameter Plug-In
|
|
- github-api
|
|
- GitHub plugin
|
|
- Jenkins Violations plugin
|
|
- git-notes Plugin
|
|
- Twitter plugin
|
|
- Jenkins Cobertura Plugin
|
|
- Jenkins Gravatar plugin
|
|
- Jenkins SSH Slaves plugin
|
|
- Create a Job called 'QGIS'
|
|
- Use the following options for your job:
|
|
- Job Name: QGIS
|
|
- Job Type: Build a free-style software project
|
|
- Tick enable project based security (you need to elsewhere configure your
|
|
Jenkins security to per project settings)
|
|
- Allow Anonymous user Read and Discover access
|
|
- Set the github project to https://github.com/qgis/QGIS/
|
|
- Set source code management to Git
|
|
- Set repository url to git://github.com/qgis/QGIS.git
|
|
- In advanced repository url settings set refspec to :
|
|
|
|
```
|
|
+refs/heads/master:refs/remotes/origin/master
|
|
```
|
|
|
|
- Set branch to build to master
|
|
- Repository Browser: Auto
|
|
- Build triggers: set to Poll SCM and set schedule to ``* * * * *`` (polls every minute)
|
|
- Build - Execute shell and set shell script to:
|
|
|
|
```
|
|
cd build
|
|
cmake ..
|
|
xvfb-run --auto-servernum --server-num=1 \
|
|
--server-args="-screen 0 1024x768x24" \
|
|
make Experimental || true
|
|
if [ -f Testing/TAG ] ; then
|
|
xsltproc ../tests/ctest2junix.xsl \
|
|
Testing/`head -n 1 < Testing/TAG`/Test.xml > \
|
|
CTestResults.xml
|
|
fi
|
|
```
|
|
|
|
- Add Junit post build action and set 'Publish Junit test result report' to:
|
|
``build/CTestResults.xml``
|
|
- Email notification: Send separate e-mails to individuals who broke the build
|
|
- Jenkins sounds - set up sounds for Failure, Success and Unstable.
|
|
- Save
|
|
-
|
|
|
|
Now open the Job dash board and push something to QGIS and wait a minute to
|
|
validate automated builds work.
|
|
|
|
**Note:** You will need to log in to the Jenkins user account and go to
|
|
/var/lib/jenkins/jobs/QGIS/workspace, then make a ``build`` directory and run
|
|
the initial cmake setup and then do test build. This process is the same as
|
|
described elsewhere in this doc.
|
|
|
|
I based some of the set up from this nice blog article here:
|
|
|
|
http://alexott.blogspot.com/2012/03/jenkins-cmakectest.html
|
|
|