8e4a1a8316357b659318af8eb986c60e4004f96d
[releng.git] / docs / jenkins-job-builder / opnfv-jjb-usage.rst
1 .. image:: ../etc/opnfv-logo.png
2   :height: 40
3   :width: 200
4   :alt: OPNFV
5   :align: left
6
7 |
8 |
9
10 Creating/Configuring/Verifying Jenkins Jobs
11 ============================================
12
13 Clone the repo::
14
15  git clone ssh://YOU@gerrit.opnfv.org:29418/releng
16
17 make changes::
18
19  git commit -sv
20  git review
21  remote: Resolving deltas: 100% (3/3)
22  remote: Processing changes: new: 1, refs: 1, done
23  remote:
24  remote: New Changes:
25  remote:   https://gerrit.opnfv.org/gerrit/51
26  remote:
27  To ssh://agardner@gerrit.opnfv.org:29418/releng.git
28   * [new branch]      HEAD -> refs/publish/master
29
30 Follow the link to gerrit https://gerrit.opnfv.org/gerrit/51 in a few moments the verify job will have completed and you will see Verified +1 jenkins-ci in the gerrit ui.
31
32 If the changes pass the verify job https://build.opnfv.org/ci/view/builder/job/builder-verify-jjb/ The patch can be submitited by a committer.
33
34 Job Types
35
36 * Verify Job
37
38  * Trigger: **recheck** or **reverify**
39
40 * Merge Job
41
42  * Trigger: **remerge**
43
44 The verify and merge jobs are retriggerable in Gerrit by simply leaving a comment with one of the keywords listed above. This is useful in case you need to re-run one of those jobs in case if build issues or something changed with the environment.
45
46 You can add below persons as reviewers to your patch in order to get it reviewed and submitted.
47
48 * fatih.degirmenci@ericsson.com
49 * agardner@linuxfoundation.org
50 * trozet@redhat.com
51 * morgan.richomme@orange.com
52 * vlaza@cloudbasesolutions.com
53 * matthew.lijun@huawei.com
54 * pbandzi@cisco.com
55 * jose.lausuch@ericsson.com
56 * koffirodrigue@gmail.com
57 * r-mibu@cq.jp.nec.com
58
59 Or just email a request for submission to opnfv-helpdesk@rt.linuxfoundation.org
60
61 The Current merge and verify jobs for jenkins job builder as pulled from the repo::
62
63 **releng-jobs.yaml**:
64
65 .. code-block:: bash
66
67  - project:
68      name: builder-jobs
69      jobs:
70          - 'builder-verify-jjb'
71          - 'builder-merge'
72  
73      project: 'releng'
74  
75  - job-template:
76      name: builder-verify-jjb
77  
78      node: master
79  
80      project-type: freestyle
81  
82      logrotate:
83          daysToKeep: 30
84          numToKeep: 10
85          artifactDaysToKeep: -1
86          artifactNumToKeep: -1
87  
88      parameters:
89          - project-parameter:
90              project: '{project}'
91          - gerrit-parameter:
92              branch: 'master'
93      scm:
94          - gerrit-trigger-scm:
95              credentials-id: '{ssh-credentials}'
96              refspec: '$GERRIT_REFSPEC'
97              choosing-strategy: 'gerrit'
98  
99      wrappers:
100          - ssh-agent-credentials:
101              user: '{ssh-credentials}'
102  
103      triggers:
104          - gerrit:
105              trigger-on:
106                  - patchset-created-event:
107                      exclude-drafts: 'false'
108                      exclude-trivial-rebase: 'false'
109                      exclude-no-code-change: 'false'
110                  - draft-published-event
111                  - comment-added-contains-event:
112                      comment-contains-value: 'recheck'
113                  - comment-added-contains-event:
114                      comment-contains-value: 'reverify'
115              projects:
116                - project-compare-type: 'ANT'
117                  project-pattern: 'releng'
118                  branches:
119                    - branch-compare-type: 'ANT'
120                      branch-pattern: '**/master'
121                  file-paths:
122                      - compare-type: ANT
123                        pattern: jjb/**
124                      - compare-type: ANT
125                        pattern: jjb-templates/**
126  
127  
128      builders:
129          - shell:
130              !include-raw verify-releng
131  
132  - job-template:
133      name: 'builder-merge'
134  
135      node: master
136  
137      # builder-merge job to run JJB update
138      #
139      # This job's purpose is to update all the JJB
140  
141      project-type: freestyle
142  
143      logrotate:
144          daysToKeep: 30
145          numToKeep: 40
146          artifactDaysToKeep: -1
147          artifactNumToKeep: 5
148  
149      parameters:
150          - project-parameter:
151              project: '{project}'
152          - gerrit-parameter:
153              branch: 'master'
154  
155      scm:
156          - gerrit-trigger-scm:
157              credentials-id: '{ssh-credentials}'
158              refspec: ''
159              choosing-strategy: 'default'
160  
161      wrappers:
162          - ssh-agent-credentials:
163              user: '{ssh-credentials}'
164  
165      triggers:
166          - gerrit:
167              trigger-on:
168                  - change-merged-event
169                  - comment-added-contains-event:
170                      comment-contains-value: 'remerge'
171              projects:
172                - project-compare-type: 'ANT'
173                  project-pattern: 'releng'
174                  branches:
175                      - branch-compare-type: 'ANT'
176                        branch-pattern: '**/master'
177                  file-paths:
178                      - compare-type: ANT
179                        pattern: jjb/**
180  
181      builders:
182          - shell: |
183                  source /opt/virtualenv/jenkins-job-builder/bin/activate
184                  cd /opt/jenkins-ci/releng
185                  git pull
186                  jenkins-jobs update --delete-old jjb/
187  
188  
189
190
191 Revision: _sha1_
192
193 Build date: |today|