5fb1f9135e8d034c1360368bed8f5e6bd845ca70
[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 **releng-jobs.yaml**:
55
56 .. code-block:: bash
57
58  - project:
59      name: builder-jobs
60      jobs:
61          - 'builder-verify-jjb'
62          - 'builder-merge'
63  
64      project: 'releng'
65  
66  - job-template:
67      name: builder-verify-jjb
68  
69      node: master
70  
71      project-type: freestyle
72  
73      logrotate:
74          daysToKeep: 30
75          numToKeep: 10
76          artifactDaysToKeep: -1
77          artifactNumToKeep: -1
78  
79      parameters:
80          - project-parameter:
81              project: '{project}'
82          - gerrit-parameter:
83              branch: 'master'
84      scm:
85          - gerrit-trigger-scm:
86              credentials-id: '{ssh-credentials}'
87              refspec: '$GERRIT_REFSPEC'
88              choosing-strategy: 'gerrit'
89  
90      wrappers:
91          - ssh-agent-credentials:
92              user: '{ssh-credentials}'
93  
94      triggers:
95          - gerrit:
96              trigger-on:
97                  - patchset-created-event:
98                      exclude-drafts: 'false'
99                      exclude-trivial-rebase: 'false'
100                      exclude-no-code-change: 'false'
101                  - draft-published-event
102                  - comment-added-contains-event:
103                      comment-contains-value: 'recheck'
104                  - comment-added-contains-event:
105                      comment-contains-value: 'reverify'
106              projects:
107                - project-compare-type: 'ANT'
108                  project-pattern: 'releng'
109                  branches:
110                    - branch-compare-type: 'ANT'
111                      branch-pattern: '**/master'
112                  file-paths:
113                      - compare-type: ANT
114                        pattern: jjb/**
115                      - compare-type: ANT
116                        pattern: jjb-templates/**
117  
118  
119      builders:
120          - shell:
121              !include-raw verify-releng
122  
123  - job-template:
124      name: 'builder-merge'
125  
126      node: master
127  
128      # builder-merge job to run JJB update
129      #
130      # This job's purpose is to update all the JJB
131  
132      project-type: freestyle
133  
134      logrotate:
135          daysToKeep: 30
136          numToKeep: 40
137          artifactDaysToKeep: -1
138          artifactNumToKeep: 5
139  
140      parameters:
141          - project-parameter:
142              project: '{project}'
143          - gerrit-parameter:
144              branch: 'master'
145  
146      scm:
147          - gerrit-trigger-scm:
148              credentials-id: '{ssh-credentials}'
149              refspec: ''
150              choosing-strategy: 'default'
151  
152      wrappers:
153          - ssh-agent-credentials:
154              user: '{ssh-credentials}'
155  
156      triggers:
157          - gerrit:
158              trigger-on:
159                  - change-merged-event
160                  - comment-added-contains-event:
161                      comment-contains-value: 'remerge'
162              projects:
163                - project-compare-type: 'ANT'
164                  project-pattern: 'releng'
165                  branches:
166                      - branch-compare-type: 'ANT'
167                        branch-pattern: '**/master'
168                  file-paths:
169                      - compare-type: ANT
170                        pattern: jjb/**
171  
172      builders:
173          - shell: |
174                  source /opt/virtualenv/jenkins-job-builder/bin/activate
175                  cd /opt/jenkins-ci/releng
176                  git pull
177                  jenkins-jobs update --delete-old jjb/
178  
179  
180
181
182 Revision: _sha1_
183
184 Build date:  _date_