Add Maven Settings file support to templates
[releng/builder.git] / jjb / job.yaml.template
1 # ODL Releng build templates
2 - project:
3     name: PROJECT
4     jobs:
5         - 'PROJECT-verify-{stream}'
6         - 'PROJECT-merge-{stream}'
7         - 'PROJECT-daily-{stream}'
8
9     # stream:    branch with - in place of / (eg. stable-helium)
10     # branch:    branch (eg. stable/helium)
11     stream:
12         - master:
13             branch: 'master'
14         - stable-helium:
15             branch: 'stable/helium'
16
17
18 # For the Job templates below replace instances of:
19 # PROJECT with your project name (eg. controller)
20 # MAVEN_GOALS with your maven goals to build
21 # MAVEN_OPTS with your maven options to build
22
23 - job-template:
24     name: 'PROJECT-verify-{stream}'
25
26     # Job template for ODL verify jobs
27     #
28     # The purpose of this job template is to setup a ODL verify job
29     #
30     # Required Variables:
31     #     stream:    branch with - in place of / (eg. stable-helium)
32     #     branch:    branch (eg. stable/helium)
33
34     project-type: maven
35
36     logrotate:
37         daysToKeep: '{build-days-to-keep}'
38         numToKeep: '{build-num-to-keep}'
39         artifactDaysToKeep: '{build-artifact-days-to-keep}'
40         artifactNumToKeep: '{build-artifact-num-to-keep}'
41
42     parameters:
43         - gerrit-parameter:
44             branch: '{branch}'
45
46     scm:
47         - gerrit-trigger-scm:
48             credentials-id: '{ssh-credentials}'
49             scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/PROJECT.git'
50             refspec: '$GERRIT_REFSPEC'
51
52     wrappers:
53         - ssh-agent-credentials:
54             user: '{ssh-credentials}'
55
56     triggers:
57         - gerrit-trigger-patch-submitted:
58             name: 'PROJECT'
59             branch: '{branch}'
60
61     maven:
62         maven-name: '{mvn30}'
63         root-pom: 'pom.xml'
64         goals: 'MAVEN_GOALS'
65         maven-opts: 'MAVEN_OPTS'
66         settings: '{PROJECT-settings}'
67         global-settings: '{odl-global-settings}'
68
69     publishers:
70         - email-notification:
71             email-prefix: '[PROJECT]'
72
73 - job-template:
74     name: 'PROJECT-merge-{stream}'
75
76     # Job template for ODL merge jobs
77     #
78     # The purpose of this job template is to setup a ODL merge job
79     # and deploy artifacts to Nexus.
80     #
81     # Required Variables:
82     #     stream:    branch with - in place of / (eg. stable-helium)
83     #     branch:    branch (eg. stable/helium)
84
85     project-type: maven
86
87     logrotate:
88         daysToKeep: '{build-days-to-keep}'
89         numToKeep: '{build-num-to-keep}'
90         artifactDaysToKeep: '{build-artifact-days-to-keep}'
91         artifactNumToKeep: '{build-artifact-num-to-keep}'
92
93     scm:
94         - gerrit-trigger-scm:
95             credentials-id: '{ssh-credentials}'
96             scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/PROJECT.git'
97             refspec: ''
98
99     wrappers:
100         - ssh-agent-credentials:
101             user: '{ssh-credentials}'
102
103     triggers:
104         - gerrit-trigger-patch-merged:
105             name: 'PROJECT'
106             branch: '{branch}'
107
108     maven:
109         maven-name: '{mvn30}'
110         root-pom: 'pom.xml'
111         goals: 'MAVEN_GOALS'
112         maven-opts: 'MAVEN_OPTS'
113         settings: '{PROJECT-settings}'
114         global-settings: '{odl-global-settings}'
115
116     publishers:
117         - email-notification:
118             email-prefix: '[PROJECT]'
119         - maven-deploy:
120             id:
121             url:
122             unique-version: true
123             deploy-unstable: false
124
125 - job-template:
126     name: 'PROJECT-daily-{stream}'
127
128     # Job template for daily builders
129     #
130     # The purpose of this job template is to setup a daily/nightly
131     # builder and pushes to Sonar analysis.
132     #
133     # Required Variables:
134     #     stream:    branch with - in place of / (eg. stable-helium)
135     #     branch:    branch (eg. stable/helium)
136
137     project-type: maven
138
139     logrotate:
140         daysToKeep: '{build-days-to-keep}'
141         numToKeep: '{build-num-to-keep}'
142         artifactDaysToKeep: '{build-artifact-days-to-keep}'
143         artifactNumToKeep: '{build-artifact-num-to-keep}'
144
145     scm:
146         - git-scm:
147             credentials-id: '{ssh-credentials}'
148             scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/PROJECT.git'
149             refspec: ''
150             branch: '{branch}'
151
152     wrappers:
153         - ssh-agent-credentials:
154             user: '{ssh-credentials}'
155
156     triggers:
157         - timed: 'H H * * *'
158
159     maven:
160         maven-name: '{mvn30}'
161         root-pom: 'pom.xml'
162         goals: 'MAVEN_GOALS'
163         maven-opts: 'MAVEN_OPTS'
164         settings: '{PROJECT-settings}'
165         global-settings: '{odl-global-settings}'
166
167     publishers:
168         - email-notification:
169             email-prefix: '[PROJECT]'
170         - sonar:
171             branch: 'origin/{branch}'
172             language: 'java'
173             maven-opts: 'MAVEN_OPTS'