X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-ci-jobs.rst;h=8d6ef7d281829d26efe6855b153b92c8e3765678;hb=46d42088f932b67b8a95b6426a84328932b8528e;hp=57aebc6afa4ba5cdbe38860890490b75253587e8;hpb=98efe44ce56e58bddbdebbf36888f22a9e393246;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index 57aebc6a..8d6ef7d2 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: @@ -353,7 +370,7 @@ This job checks out the current code review patch and then runs a .. note:: 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 +385,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 +411,7 @@ 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-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 +426,8 @@ Runs `jenkins-jobs update` to update production job configuration (default defined by lf_jjb_common) +.. _jjb-verify: + JJB Verify ---------- @@ -427,9 +449,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) @@ -470,6 +495,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) @@ -560,13 +586,14 @@ containing the credentials for the cloud. :build-node: The node to run build on. :jenkins-ssh-credential: Credential to use for SSH. (Generally should be configured in defaults.yaml) + :jenkins-urls: URLs to Jenkins systems to check for active builds. :Optional parameters: :branch: Git branch to fetch for the build. (default: master) :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) :build-timeout: Timeout in minutes before aborting build. (default: 90) - :cron: Time when the packer image should be rebuilt (default: @daily) + :cron: Time when the packer image should be rebuilt (default: @hourly) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) :openstack-cloud: OS_CLOUD setting to pass to openstack client. (default: vex) @@ -576,6 +603,12 @@ 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. + (default: true) :stream: Keyword that can be used to represent a release code-name. Often the same as the branch. (default: master) :submodule-recursive: Whether to checkout submodules recursively. @@ -640,6 +673,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: @@ -685,3 +731,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, +so 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)