X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=README.md;h=63cdff37508f0fe357435bffbad24466dd67bd99;hb=2c2e5fda72d41b63bb67055519cc0028a779c2c3;hp=01388fc4bddef63200d30b098a9851d142022ae0;hpb=fda205d5688716c0c2a4f8ff334c77b36bf6dbe7;p=releng%2Fglobal-jjb.git diff --git a/README.md b/README.md index 01388fc4..63cdff37 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,15 @@ For example: ``` GIT_URL=ssh://jenkins-$SILO@git.opendaylight.org:29418 +GIT_CLONE_URL=git@github.com: JENKINS_HOSTNAME=jenkins092 LOGS_SERVER=https://logs.opendaylight.org NEXUS_URL=https://nexus.opendaylight.org SILO=releng ``` +Note: **GIT_CLONE_URL** is only used by Github projects as this +will be different from the URL used the poperties +configuration. ## Jenkins Plugin Requirements @@ -77,7 +81,14 @@ connections. If you are using GitHub then there are two more parameters which will need to be placed in the defaults.yaml -**github-url**: The URL of GitHub. (Default: https://github.com) +**git-url**: This should be set to the base URL of your GitHub. In +general this should be https://github.com. If you are using GitHub +Enterprise, or some other GitHub-style system, then it should be +whatever your installation base URL is. + +**git-clone-url**: This is the clone prefix used by GitHub jobs. This +should be set to either the same thing as **git-url** or the +'git@github.com:' including the trailing ':' **github-org**: The name of the GitHub organization. @@ -124,18 +135,53 @@ ci-management.yaml: Required parameters: -**project**: is the project repo as defined in Gerrit. +**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). Optional parameters: **branch**: is the git branch to build from. -**git-url**: is used to override the GIT_URL environment variable. Should not - be necessary in most cases. Mainly used by LF projects such as - global-jjb and lftools. **jjb-version**: is the version of JJB to install in the build minion. +## Deploying Python jobs + +We provide the following Python jobs templates: + +### {project-name}-tox-verify-{stream} + +This job can be used to call python-tox to run builds and tests. The most common +usage of this job is to run the Coala linter against projects. + +``` +- project: + name: builder + jobs: + - '{project-name}-tox-verify-{stream}' + + project-name: builder + project: releng/builder + build-node: centos7-java-builder-2c-4g + stream: master +``` + +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). +**stream**: typically `master` or matching whatever branch is being built. This + is a useful keywords to map a release codename to a branch. For + example OpenDaylight uses this to map stream=carbon to + branch=stable/carbon. + +Optional parameters: + +**branch**: is the git branch to build from. +**jjb-version**: is the version of JJB to install in the build minion. +**tox-dir**: directory containing tox.ini file (default: '') +**tox-envs**: tox environments to run (default: '') + ## Archiving logs in Jobs There are 2 ways supported for archiving log information: @@ -150,3 +196,13 @@ in the same structure as configured in the archives directory. In this method a job can define a globstar for example ``**/*.log`` which then causes the archive script to do a globstar search for that pattern and archives any files it finds matching. + +## Appendix + +### ShellCheck + +If ShellCheck is being used to lint global-jjb or any projects that include +global-jjb as part of their project (common with ci-management repos) then +a minimum version of ShellCheck 0.4.x is required as the shell scripts in +this repo uses annotations that were introduced in 0.4.. +