LOGS_SERVER=https://logs.opendaylight.org
NEXUS_URL=https://nexus.opendaylight.org
SILO=releng
+SONAR_URL=https://sonar.opendaylight.org
```
Note: Use **GIT_CLONE_URL** for GitHub projects as this
- Config File Provider
- Description Setter
-- Gerrit Trigger
+- Environment Injector Plugin
+- Git plugin
- Post Build Script
- SSH Agent
- Workspace Cleanup
+**Required for Gerrit connected systems**
+
+- Gerrit Trigger
+
+**Required for GitHub connected systems**
+
+- GitHub plugin
+- GitHub Pull Request Builder
+
**Optional**
- Mask Passwords
privileges on any job using the `lf-infra-github-pr-trigger`
macro.
+**lftools-version**: Version of lftools to install. Can be a specific version
+like '0.6.1' or a PEP-440 definition. <https://www.python.org/dev/peps/pep-0440/>
+For example `<1.0.0` or `>=1.0.0,<2.0.0`.
+
+**mvn-site-id**: Maven Server ID from settings.xml containing the credentials
+to push to a Maven site repository.
+
+**mvn-staging-id**: Maven Server ID from settings.xml containing the credentials
+to push to a Maven staging repository.
+
defaults.yaml:
```
- zxiiro
github_pr_admin_list:
- tykeal
+ lftools-version: '<1.0.0'
+ mvn-site-id: opendaylight-site
```
## Config File Management
**branch**: is the git branch to build from.
**jjb-version**: is the version of JJB to install in the build minion.
+## Deploying packer-jobs
+
+The packer job group contains jobs to build custom minion images. The minimal
+configuration needed to deploy the packer jobs is as follows which deploys the
+**{project-name}-packer-jobs** job group as defined in **lf-ci-jobs.yaml**.
+
+ci-management.yaml:
+
+```
+- project:
+ name: packer-jobs
+
+ jobs:
+ - '{project-name}-packer-jobs'
+
+ project: ci-management
+ project-name: ci-management
+ branch: master
+ build-node: centos7-basebuild-2c-1g
+
+ platforms:
+ - centos
+ - ubuntu-14.04
+ - ubuntu-16.04
+
+ templates:
+ - devstack
+ - docker
+ - gbp
+ - java-builder
+ - mininet
+
+ exclude:
+ - platforms: centos
+ templates: gbp
+ - platforms: centos
+ templates: mininet
+```
+
+Required parameters:
+
+**project**: is the project repo as defined in source control.
+**project-name**: is a custom name to call the job in Jenkins.
+**build-node**: is the name of the builder to use when building (Jenkins label).
+**platforms**: is a list of supported platforms.
+**templates**: is a list of supported templates.
+
+Optional parameters:
+
+**branch**: is the git branch to build from.
+**packer-version**: is the version of packer to install in the build minion,
+when packer is not available.
+**exclude**: is a combination of platforms and templates which are not required
+to build.
+
## Deploying Python jobs
We provide the following Python jobs templates:
causes the archive script to do a globstar search for that pattern and archives
any files it finds matching.
+## Overriding merge and verify triggers
+
+The default trigger conditions for Merge and Verify job types are overrideable
+in a project configuration by overriding the following variables:
+
+- gerrit_merge_triggers
+- gerrit_verify_triggers
+
+These variables take a list of trigger-on values as defined in JJB docs here:
+<https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gerrit>
+
## Appendix
### ShellCheck