forked from qgis/QGIS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
jenkins.t2t
90 lines (77 loc) · 2.89 KB
/
jenkins.t2t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
= 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