X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-ci-jobs.rst;h=c1d7db18f6b91cc8e3a0cd580e2e5b0ced2efcbb;hb=87e1c2461d3f512b8a87150e3bbd17606a924b1e;hp=35bd24858e4a4bf05b10f364cbed0b241f462f63;hpb=7eea20901e957ef43de1918119c75688f5eb87ba;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index 35bd2485..c1d7db18 100644 --- a/docs/jjb/lf-ci-jobs.rst +++ b/docs/jjb/lf-ci-jobs.rst @@ -13,6 +13,7 @@ Recommended jobs that should be deployed for CI using Gerrit. :Includes: - gerrit-jenkins-cfg-merge + - gerrit-jenkins-sandbox-cleanup - gerrit-jjb-deploy-job - gerrit-jjb-merge - gerrit-jjb-verify @@ -25,6 +26,7 @@ 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 @@ -70,6 +72,30 @@ Jobs related to Packer builds for CI using GitHub. Macros ====== +lf-infra-jjb-parameters +----------------------- + +:Required Parameters: + + :jjb-version: Version of Jenkins Job Builder (JJB) to install and use in + the jjb jobs. + +lf-jenkins-cfg-clouds +--------------------- + +Deploys Jenkins Cloud configuration read from the ``jenkins-clouds`` directory +in ci-management repositories. + +.. note:: + + Requires the jjbini file in Jenkins CFP to contain JJB 2.0 style + config definitions for "production" and "sandbox" systems. + +:Required Parameters: + + :jenkins-silos: Space-separated list of Jenkins silos to update + configuration for as defined in ~/.config/jenkins_jobs/jenkins_jobs.ini + lf-jenkins-cfg-global-vars -------------------------- @@ -84,7 +110,7 @@ ci-management/jenkins-config/global-vars-SILO.sh script. :Required parameters: - :jenkins-silos: Space separated list of Jenkins silos to update + :jenkins-silos: Space-separated list of Jenkins silos to update configuration for as defined in ~/.config/jenkins_jobs/jenkins_jobs.ini lf-infra-jjbini @@ -207,12 +233,8 @@ currently the only cloud plugin supported. OpenStack Cloud plugin version supported: -* 2.30 -* 2.31 -* 2.32 -* 2.33 -* 2.34 -* 2.35 +* 2.30 - 2.34 +* 2.35 - 2.37 Cloud configuration are managed via a directory structure in ci-management as follows: @@ -278,6 +300,8 @@ configuration in the format ``KEY=value``. :RETENTION_TIME: Number of minutes to wait for an idle slave to be used again before it's removed. If set to -1, the slave will be kept forever. (default: 0) + :CONNECTION_TYPE: The connection type for Jenkins to connect to the build + minion. Valid options: JNLP, SSH. (default: "SSH") For a live example see the OpenDaylight project jenkins-config directory. https://github.com/opendaylight/releng-builder/tree/master/jenkins-config @@ -292,6 +316,30 @@ Troubleshooting inspected. +Jenkins Sandbox Cleanup +----------------------- + +Cleanup Jenkins Sandbox of jobs and views periodically. + +:Template names: + + - {project-name}-jenkins-sandbox-cleanup + - gerrit-jenkins-sandbox-cleanup + - github-jenkins-sandbox-cleanup + +:Comment Trigger: NONE + +: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: + + :cron: Schedule to run job. (default: '0 8 * * 6') + + JJB Deploy Job -------------- @@ -336,20 +384,21 @@ Runs `jenkins-jobs update` to update production job configuration - gerrit-jjb-merge - github-jjb-merge +:Comment Trigger: remerge + :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) - :mvn-settings: The name of settings file containing credentials for - the project. :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 seconds before aborting build. (default: 10) + :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) :submodule-recursive: Whether to checkout submodules recursively. @@ -371,20 +420,21 @@ Runs `jenkins-jobs test` to validate JJB syntax - gerrit-jjb-verify - github-jjb-verify +: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) - :mvn-settings: The name of settings file containing credentials for - the project. :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 seconds before aborting build. (default: 10) + :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) :submodule-recursive: Whether to checkout submodules recursively. @@ -395,6 +445,37 @@ Runs `jenkins-jobs test` to validate JJB syntax 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 @@ -419,7 +500,7 @@ other file changes. Verifies INFO.yaml files follow the schema defined in :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 seconds before aborting build. (default: 10) + :build-timeout: Timeout in minutes before aborting build. (default: 10) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) :stream: Keyword that can be used to represent a release code-name. Often the same as the branch. (default: master) @@ -441,6 +522,7 @@ Job to scan projects for files missing license headers. :Optional parameters: + :build-timeout: Timeout in minutes before aborting build. (default: 15) :file-patterns: Space-separated list of file patterns to scan. (default: \*.go \*.groovy \*.java \*.py \*.sh) :spdx-disable: Disable the SPDX-Identifier checker. (default: false) @@ -454,6 +536,8 @@ Job to scan projects for files missing license headers. (default: '') :licenses-allowed: Comma-separated list of allowed licenses. (default: Apache-2.0,EPL-1.0,MIT) + :project-pattern: The ANT based pattern for Gerrit Trigger to choose which + projects to trigger job against. (default: '**') .. _gjjb-packer-merge: @@ -467,6 +551,8 @@ Packer Merge job runs `packer build` to build system images in the cloud. - gerrit-packer-merge - github-packer-merge +:Comment Trigger: remerge + :Required parameters: :build-node: The node to run build on. @@ -484,7 +570,7 @@ Packer Merge job runs `packer build` to build system images in the cloud. :cron: Time when the packer image should be rebuilt (default: @monthly) :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 seconds before aborting build. (default: 10) + :build-timeout: Timeout in minutes before aborting build. (default: 90) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) :packer-cloud-settings: Name of settings file containing credentials for the cloud that packer will build on. (default: packer-cloud-env) @@ -509,6 +595,8 @@ Packer Verify job runs `packer validate` to verify packer configuration. - gerrit-packer-verify - github-packer-verify +:Comment Trigger: recheck|reverify + :Required parameters: :build-node: The node to run build on. @@ -521,7 +609,7 @@ Packer Verify job runs `packer validate` to verify packer configuration. :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 seconds before aborting build. (default: 10) + :build-timeout: Timeout in minutes before aborting build. (default: 10) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) :packer-cloud-settings: Name of settings file containing credentials for the cloud that packer will build on. (default: packer-cloud-env)