X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-ci-jobs.rst;h=5ad9b6a31d24e8b5d93b36ab8a695963f28100e0;hb=refs%2Fchanges%2F88%2F15088%2F1;hp=f86c0560c892f58ea349e66d0e0fb0e7a08ad3ec;hpb=0b174473134b72965f9642a32d24dc43279a014a;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index f86c0560..5ad9b6a3 100644 --- a/docs/jjb/lf-ci-jobs.rst +++ b/docs/jjb/lf-ci-jobs.rst @@ -21,6 +21,8 @@ lf-infra-jjb-parameters :Required Parameters: + :jjb-cache: Location of Jenkins Job Builder (JJB) cache used for jjb + jobs. :jjb-version: Version of Jenkins Job Builder (JJB) to install and use in the jjb jobs. @@ -94,6 +96,16 @@ lf-packer-verify-file-paths Gerrit file-paths for packer verify jobs. +lf-puppet-parameters +-------------------- + +Parameters useful for Puppet related tasks. + +:Parameters: + + :puppet-lint-version: Version of puppet-lint to install / use. + (shell: PUPPET_LINT_VERSION) + Job Templates ============= @@ -310,6 +322,9 @@ Example: .. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-verify.yaml :language: yaml + +.. _jenkins-sandbox-cleanup: + Jenkins Sandbox Cleanup ----------------------- @@ -334,13 +349,15 @@ Cleanup Jenkins Sandbox of jobs and views periodically. :cron: Schedule to run job. (default: '0 8 * * 6') +.. _jjb-deploy: + JJB Deploy Job -------------- -Deploy jobs to jenkins-sandbox system via code review comment +Deploy jobs to jenkins-sandbox system via code review comment. This job checks out the current code review patch and then runs a -`jenkins-jobs update` to push a patch defined by the comment. +``jenkins-jobs update`` to push a patch defined by the comment. :Template names: @@ -352,8 +369,20 @@ This job checks out the current code review patch and then runs a .. note:: + The JJB Deploy Job is configured to trigger only if the Gerrit comment + starts with the `jjb-deploy` keyword. + + Example of a valid command in Gerrit comment that triggers the job: + + ``jjb-deploy builder-jjb-*`` + + Example of a invalid command in Gerrit comment that would _not_ trigger + the job: + + ``Update the job. jjb-deploy builder-jjb-*`` + JOB_NAME can include the * wildcard character to push multiple jobs - matching the pattern. For example `jjb-deploy builder-jjb-*`` will push + matching the pattern. For example ``jjb-deploy builder-jjb-*`` will push all builder-jjb-* jobs to the sandbox system. :Required parameters: @@ -368,6 +397,8 @@ This job checks out the current code review patch and then runs a :gerrit_jjb_deploy_job_triggers: Override Gerrit Triggers. +.. _jjb-merge: + JJB Merge --------- @@ -392,6 +423,9 @@ Runs `jenkins-jobs update` to update production job configuration :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) :build-timeout: Timeout in minutes before aborting build. (default: 10) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :jjb-cache: JJB cache location. (default: $HOME/.cache/jenkins_jobs) + :jjb-workers: Number of threads to run **update** with. Set to 0 by default + which is equivalent to the number of available CPU cores. (default: 0) :jjb-version: JJB version to install. (default: see job-template) :stream: Keyword that can be used to represent a release code-name. Often the same as the branch. (default: master) @@ -406,6 +440,8 @@ Runs `jenkins-jobs update` to update production job configuration (default defined by lf_jjb_common) +.. _jjb-verify: + JJB Verify ---------- @@ -427,9 +463,12 @@ Runs `jenkins-jobs test` to validate JJB syntax :Optional parameters: :branch: Git branch to fetch for the build. (default: master) + :build-concurrent: Whether or not to allow this job to run multiple jobs + simultaneously. (default: true) :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) :build-timeout: Timeout in minutes before aborting build. (default: 10) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :jjb-cache: JJB cache location. (default: $HOME/.cache/jenkins_jobs) :jjb-version: JJB version to install. (default: see job-template) :stream: Keyword that can be used to represent a release code-name. Often the same as the branch. (default: master) @@ -437,6 +476,15 @@ Runs `jenkins-jobs test` to validate JJB syntax (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :throttle_categories: List of categories to throttle by. + :throttle-enabled: Whether or not to enable throttling on the job. + (default: true) + :throttle-max-per-node: Max jobs to run on the same node. (default: 1) + :throttle-max-total: Max jobs to run across the entire project. - 0 + means 'unlimited' (default: 0) + :throttle-option: Throttle by the project or by list of categories + defined in the throttle plugin configuration. (options: 'project', + 'category'; default: project) :gerrit_verify_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths which can be used to @@ -470,6 +518,7 @@ project level jobs. :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) :build-timeout: Timeout in minutes before aborting build. (default: 10) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :jjb-cache: JJB cache location. (default: $HOME/.cache/jenkins_jobs) :jjb-version: JJB version to install. (default: see job-template) :stream: Keyword that can be used to represent a release code-name. Often the same as the branch. (default: master) @@ -577,6 +626,8 @@ containing the credentials for the cloud. removal. (default: 30) :openstack-image-protect: Whether or not to run the image protect script. (default: true) + :openstack-server-cleanup: Whether or not to run the server cleanup script. + (default: true) :openstack-stack-cleanup: Whether or not to run the stack cleanup script. (default: true) :openstack-volume-cleanup: Whether or not to run the volume cleanup script. @@ -645,6 +696,19 @@ Packer Merge job runs `packer build` to build system images in the cloud. :gerrit_verify_triggers: Override Gerrit Triggers. +Test an in-progress patch +^^^^^^^^^^^^^^^^^^^^^^^^^ + +To test an in-progress patch from a GitHub Pull Request. Upload this +job to the :doc:`Jenkins Sandbox `. Then when manually +building the job replace the GERRIT_REFSPEC parameter with the GitHub Pull +Request number of the patch you would like to test. + +Example GitHub: + +.. code-block:: none + + GERRIT_REFSPEC: origin/pr/49/merge .. _gjjb-packer-verify: @@ -690,3 +754,46 @@ Packer Verify job runs `packer validate` to verify packer configuration. :gerrit_verify_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths which can be used to filter which file modifications will trigger a build. + + +Puppet Verify +------------- + +Runs puppet-lint in the ``puppet-dir`` directory. puppet-lint runs recursively, +the base directory is usually the best place to run from. + +:Template Names: + + - {project-name}-puppet-verify + - gerrit-puppet-verify + - github-puppet-verify + +:Comment Trigger: recheck|reverify + +:Required Parameters: + + :build-node: The node to run build on. + :jenkins-ssh-credential: Credential to use for SSH. (Generally set + in defaults.yaml) + +:Optional Parameters: + + :branch: The branch to build against. (default: master) + :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) + :build-timeout: Timeout in minutes before aborting build. (default: 15) + :gerrit_trigger_file_paths: Override file paths which used to filter which + file modifications will trigger a build. Refer to JJB documentation for + "file-path" details. + https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gerrit + :git-url: URL clone project from. (default: $GIT_URL/$GERRIT_PROJECT) + :puppet-dir: Directory containing the project's puppet module(s) relative + to the workspace. + (default: '') + :puppet-lint-version: Version of puppet-lint to use for testing. + (default: 2.3.6) + :stream: Keyword representing a release code-name. + Often the same as the branch. (default: master) + :submodule-recursive: Whether to checkout submodules recursively. + (default: true) + :submodule-timeout: Timeout (in minutes) for checkout operation. + (default: 10)