X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-ci-jobs.rst;h=57aebc6afa4ba5cdbe38860890490b75253587e8;hb=98efe44ce56e58bddbdebbf36888f22a9e393246;hp=88a69adeb61edbb3fe5a4df30558bcfe5bb6c4af;hpb=40baa00e9dfc838fd7f8b47b5906158a7c6f4d85;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index 88a69ade..57aebc6a 100644 --- a/docs/jjb/lf-ci-jobs.rst +++ b/docs/jjb/lf-ci-jobs.rst @@ -5,69 +5,13 @@ CI Jobs Job Groups ========== -{project-name}-ci-jobs ----------------------- +.. include:: ../job-groups.rst -Recommended jobs that should be deployed for CI using Gerrit. +Below is a list of CI job groups: -:Includes: - - - gerrit-jenkins-cfg-merge - - gerrit-jenkins-sandbox-cleanup - - gerrit-jjb-deploy-job - - gerrit-jjb-merge - - gerrit-jjb-verify - -{project-name}-github-ci-jobs ------------------------------ - -Recommended jobs that should be deployed CI using GitHub. - -:Includes: - - - github-jenkins-cfg-merge - - github-jenkins-sandbox-cleanup - - github-jjb-deploy-job - - github-jjb-merge - - github-jjb-verify - -{project-name}-info-yaml-jobs ------------------------------ - -Jobs to verify INFO.yaml file changes. - -:Includes: - - - gerrit-info-yaml-verify - -{project-name}-github-info-yaml-jobs ------------------------------------- - -Jobs to verify INFO.yaml file changes using Github. - -:Includes: - - - github-info-yaml-verify - -{project-name}-packer-jobs --------------------------- - -Jobs related to Packer builds for CI using Gerrit. - -:Includes: - - - gerrit-packer-merge - - gerrit-packer-verify - -{project-name}-github-packer-jobs ---------------------------------- - -Jobs related to Packer builds for CI using GitHub. - -:Includes: +.. literalinclude:: ../../jjb/lf-ci-job-groups.yaml + :language: yaml - - github-packer-merge - - github-packer-verify Macros ====== @@ -153,6 +97,8 @@ Gerrit file-paths for packer verify jobs. Job Templates ============= +.. _gerrit-branch-lock: + Gerrit Branch Lock ------------------ @@ -162,6 +108,26 @@ Job submits a patch to lock or unlock a project's branch. - {project-name}-gerrit-branch-lock-{stream} - gerrit-branch-lock +:Comment Trigger: + + * lock branch + * unlock branch + +:Required parameters: + + :build-node: The node to run build on. + :jenkins-ssh-credential: Credential to use for SSH. (Generally + should be configured in defaults.yaml) + +:Optional parameters: + + :branch: Git branch to build against. (default: master) + :git-url: URL to clone project from. (default: $GIT_URL/$GERRIT_PROJECT) + :stream: Keyword that can be used to represent a release code-name. + Often the same as the branch. (default: master) + :submodule-timeout: Timeout (in minutes) for checkout operation. + (default: 10) + :gerrit_merge_triggers: Override Gerrit Triggers. .. _lf-global-jjb-jenkins-cfg-merge: @@ -194,7 +160,7 @@ Typically this template is automatically pulled in by the "{project-name}-ci-jobs" job-group and does not need to be explicitly called if the job group is being used. -Miniaml Example: +Minimal Example: .. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-merge-minimal.yaml :language: yaml @@ -261,7 +227,7 @@ configuration in the format ``KEY=value``. (default: "os-cloud") :INSTANCE_CAP: Total number of instances the cloud will allow spin up. (default: null) - :SANDBOX_CAP: Total number of instances the clodu will allow to + :SANDBOX_CAP: Total number of instances the cloud will allow to spin up. This applies to "sandbox" systems and overrides the INSTANCE_CAP setting. (default: null) @@ -316,6 +282,33 @@ Troubleshooting used to push to Jenkins. In the event of a job failure this file can be inspected. + .. _lf-global-jjb-jenkins-cfg-verify: + +Jenkins Configuration Verify +---------------------------- + +Jenkins job to verify the Global Jenkins configuration. + +Requires the ``clouds-yaml`` file to be setup on the Jenkins host. + +:Template names: + + - {project-name}-jenkins-cfg-verify + - gerrit-jenkins-cfg-verify + - github-jenkins-cfg-verify + +:Optional parameters: + + :branch: Git branch to build against. (default: master) + :git-url: URL to clone project from. (default: $GIT_URL/$GERRIT_PROJECT) + +This job is not part of the "{project-name}-ci-jobs" group. It must be called +explicitly. + +Example: + +.. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-verify.yaml + :language: yaml Jenkins Sandbox Cleanup ----------------------- @@ -392,8 +385,6 @@ Runs `jenkins-jobs update` to update production job configuration :build-node: The node to run build on. :jenkins-ssh-credential: Credential to use for SSH. (Generally should be configured in defaults.yaml) - :mvn-settings: The name of settings file containing credentials for - the project. :Optional parameters: @@ -406,6 +397,8 @@ Runs `jenkins-jobs update` to update production job configuration 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) :gerrit_merge_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths which can be used to @@ -430,8 +423,6 @@ Runs `jenkins-jobs test` to validate JJB syntax :build-node: The node to run build on. :jenkins-ssh-credential: Credential to use for SSH. (Generally should be configured in defaults.yaml) - :mvn-settings: The name of settings file containing credentials for - the project. :Optional parameters: @@ -444,12 +435,45 @@ Runs `jenkins-jobs test` to validate JJB syntax 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) :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. (default defined by lf_jjb_common) +.. _jjb-verify-upstream-gjjb: + +JJB Verify Upstream Global JJB +------------------------------ + +Runs ``jenkins-jobs test`` to validate JJB syntax for upstream global-jjb +patches. This job is useful to notify upstream that they may be breaking +project level jobs. + +:Template Names: + - {project-name}-jjb-verify-upstream-gjjb + - gerrit-jjb-verify-upstream-gjjb + +:Comment Trigger: recheck|reverify + +:Required parameters: + + :build-node: The node to run build on. + :jenkins-ssh-credential: Credential to use for SSH. (Generally should + be configured in defaults.yaml) + +: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: 10) + :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :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) + .. _info-yaml-verify: Info YAML Verify @@ -480,6 +504,9 @@ other file changes. Verifies INFO.yaml files follow the schema defined in 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) + :gerrit_verify_triggers: Override Gerrit Triggers. .. _license-checker: @@ -513,6 +540,58 @@ Job to scan projects for files missing license headers. :project-pattern: The ANT based pattern for Gerrit Trigger to choose which projects to trigger job against. (default: '**') +.. _gjjb-openstack-cron: + +OpenStack Cron +-------------- + +Cron job that runs regularly to perform periodic tasks against OpenStack. + +This job requires a Config File Provider file named ``clouds-yaml`` available +containing the credentials for the cloud. + +:Template Names: + - {project-name}-openstack-cron + - gerrit-openstack-cron + - github-openstack-cron + +:Required parameters: + + :build-node: The node to run build on. + :jenkins-ssh-credential: Credential to use for SSH. (Generally should + be configured in defaults.yaml) + +: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) + :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :openstack-cloud: OS_CLOUD setting to pass to openstack client. + (default: vex) + :openstack-image-cleanup: Whether or not to run the image cleanup script. + (default: true) + :openstack-image-cleanup-age: Age in days of image before marking it for + removal. (default: 30) + :openstack-image-protect: Whether or not to run the image protect 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. + (default: true) + :submodule-timeout: Timeout (in minutes) for checkout operation. + (default: 10) + +Minimal Example: + +.. literalinclude:: ../../.jjb-test/lf-ci-jobs/openstack-cron-minimal.yaml + +Full Example: + +.. literalinclude:: ../../.jjb-test/lf-ci-jobs/openstack-cron-full.yaml + + .. _gjjb-packer-merge: Packer Merge @@ -546,6 +625,9 @@ Packer Merge job runs `packer build` to build system images in the cloud. :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7) :build-timeout: Timeout in minutes before aborting build. (default: 90) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) + :openstack: Packer template uses an OpenStack builder (default: true). + :openstack-cloud: Sets OS_CLOUD variable to the value of this parameter. + (default: vex). :packer-cloud-settings: Name of settings file containing credentials for the cloud that packer will build on. (default: packer-cloud-env) :packer-version: Version of packer to install / use in build. (default: 1.0.2) @@ -553,6 +635,8 @@ Packer Merge job runs `packer build` to build system images in the cloud. 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) :gerrit_verify_triggers: Override Gerrit Triggers. @@ -585,6 +669,9 @@ Packer Verify job runs `packer validate` to verify packer 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) + :openstack: Packer template uses an OpenStack builder (default: true). + :openstack-cloud: Sets OS_CLOUD variable to the value of this parameter. + (default: vex). :packer-cloud-settings: Name of settings file containing credentials for the cloud that packer will build on. (default: packer-cloud-env) :packer-version: Version of packer to install / use in build. (default: 1.0.2) @@ -592,6 +679,8 @@ Packer Verify job runs `packer validate` to verify packer configuration. 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) :gerrit_verify_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths which can be used to