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