10 This file lives in the ci-management repo typically under the path
11 ``jjb/defaults.yaml``. The purpose of this file is to store default variable
12 values used by global-jjb templates.
16 :jenkins-ssh-credential: The name of the Jenkins Credential to
17 use for ssh connections. (ex: jenkins-ssh)
19 :lftools-version: Version of lftools to install. Can be a specific version
20 like '0.6.1' or a `PEP-440 definition <https://www.python.org/dev/peps/pep-0440/>`_
21 For example `<1.0.0` or `>=1.0.0,<2.0.0`.
23 :mvn-site-id: Maven Server ID from settings.xml containing the credentials
24 to push to a Maven site repository.
26 :mvn-staging-id: Maven Server ID from settings.xml containing the credentials
27 to push to a Maven staging repository.
29 **Gerrit required parameters**:
31 :gerrit-server-name: The name of the Gerrit Server as defined in Gerrit
32 Trigger global configuration. (ex: Primary)
34 **GitHub required parameters**:
36 :git-url: Set this to the base URL of your GitHub repo. In
37 general this should be https://github.com. If you are using
38 GitHub Enterprise, or some other GitHub-style system, then it
39 should be whatever your installation base URL is. This sets a job
40 property that GitHub Pull Request Builder requires to work.
41 Note that this is the web url to your project: (eg. https://github.com/$ORG/$PROJECT)
43 :git-clone-url: This is the clone prefix used by GitHub jobs.
44 Set this to either the same base url as **git-url**, or to
45 'git@github.com:' including the trailing ':'. Determined
46 by your clone method (https or git).
48 :github-org: The name of the GitHub organization interpolated
51 :github_pr_org: The name of the GitHub organization. All members
52 of this organization will be able to trigger jobs.
54 :github_pr_whitelist: List of GitHub members you wish to be able to
57 :github_pr_admin_list: List of GitHub members that will have admin
58 privileges on the jobs.
68 jenkins-ssh-credential: jenkins-ssh
69 gerrit-server-name: OpenDaylight
70 lftools-version: '<1.0.0'
71 mvn-site-id: opendaylight-site
72 mvn-staging-id: opendaylight-staging
82 jenkins-ssh-credential: jenkins-ssh
90 lftools-version: '<1.0.0'
91 mvn-site-id: opendaylight-site
92 mvn-staging-id: opendaylight-staging
99 global-jjb makes use of the Jenkins Config File Provider plugin to provide some
100 default configurations for certain tools. This section details the files to
101 define in Jenkins' **Manage Files** configuration.
108 This file contains default npmrc configuration and lives in $HOME/.npmrc.
109 Documentation for npmrc is available via the `npm project
110 <https://docs.npmjs.com/files/npmrc>`_.
112 :Required: This file MUST exist. An empty file is acceptable if a
113 proxy is not available for the project.
116 Create a **Custom file** with contents:
120 registry = https://nexus.opendaylight.org/content/repositories/npmjs/
127 Needed by ``openstack client`` and ``packer`` to fetch OpenStack
128 credentials and configuration. This file is OpenStack's `clouds.yaml
129 <https://docs.openstack.org/python-openstackclient/pike/configuration/index.html>`_
132 :Optional: Needed for jobs that use ``openstack client``. ``packer`` if
133 building against OpenStack infra.
136 Create a **Custom file** with contents:
143 project_name: OS_PROJECT_NAME
144 username: OS_USERNAME
145 password: OS_PASSWORD
146 auth_url: 'https://auth.vexxhost.net/v3/'
147 user_domain_name: Default
148 project_domain_name: Default
149 region_name: ca-ymq-1
153 If using packer 1.3.0 make sure that the clouds.yaml **profile**
154 configuration is **NOT** configured. Using **profile** causes packer to look
155 for another file called ``clouds-public.yaml`` for configuration.
163 This file contains default configuration for the python-pip tool and lives
164 in $HOME/.config/pip/pip.conf. Documentation for pip.conf is available via the
165 `pip project <https://pip.readthedocs.io/en/stable/user_guide/#configuration>`_.
167 :Required: This file MUST exist. An empty file is acceptable if a
168 proxy is not available for the project.
171 Create a **Custom file** with contents:
177 index-url = https://nexus3.opendaylight.org/repository/PyPi/simple
184 This file contains the Jenkins Job Builder `configuration
185 <https://docs.openstack.org/infra/jenkins-job-builder/execution.html#configuration-file>`_
186 for :doc:`jjb/lf-ci-jobs`.
188 :Required: This file MUST exist.
191 Create a **Custom file** with contents:
197 keep_descriptions=False
198 include_path=.:scripts:~/git/
202 user=jenkins-jobbuilder
203 password=1234567890abcdef1234567890abcdef
204 url=https://jenkins.example.org
205 query_plugins_info=False
208 user=jenkins-jobbuilder
209 password=1234567890abcdef1234567890abcdef
210 url=https://jenkins.example.org
211 query_plugins_info=False
214 user=jenkins-jobbuilder
215 password=1234567890abcdef1234567890abcdef
216 url=https://jenkins.example.org/sandbox
217 query_plugins_info=False
219 The last 2 sections are for the ``jenkins-cfg`` job use, they should match the
220 ``silo`` names for the respective Jenkins systems, typically ``production`` and
223 .. _jenkins-log-archives-settings:
225 jenkins-log-archives-settings
226 -----------------------------
228 See :ref:`lf-infra-ship-logs` for usage. If not archiving logs then keep this
229 file with default settings, global-jjb needs the file to exist to function.
231 Requires a *credential* named 'logs' of type 'Username and Password' created in
232 the Jenkins Credentials system.
234 #. Add Server Credentials
235 #. Set ``ServerId`` to ``logs``
236 #. Set ``Credentials`` to the ``logs`` user created in the Credentials System
238 :Required: This file MUST exist if using log archiving.
239 :type: Maven settings.xml
243 <?xml version="1.0" encoding="UTF-8"?>
244 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
245 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
246 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
251 This example is the default boilerplate generated by Jenkins with
252 the comments stripped out. We can also use the default generated by Jenkins
253 without modifying it.
255 .. _packer-cloud-env:
260 Cloud environment configuration variables for Packer jobs. These can
261 contain credentials and configuration for whichever clouds packer jobs
264 :Required: This file MUST exist to use packer jobs.
270 "cloud_auth_url": "https://auth.vexxhost.net/v3/",
271 "cloud_tenant": "TENANT_ID",
272 "cloud_user": "CLOUD_USERNAME",
273 "cloud_pass": "CLOUD_PASSWORD",
274 "cloud_network": "CLOUD_NETWORK",
283 .. _jenkins-cfg-merge:
288 This job manages Jenkins Global configuration. Refer to
289 the :ref:`CI Documentation <lf-global-jjb-jenkins-cfg-merge>` for job
290 configuration details.
297 The logs account requires a Maven Settings file created called
298 **jenkins-log-archives-settings** with a server ID of **logs** containing the
299 credentials for the logs user in Nexus.