X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-ci-jobs.rst;h=6a8caff691c27528b09a56ab0fced55b3eb728fb;hb=b65f75f9185892ce5980ac40a8e4f0e4a332412c;hp=4150993dfae51a151884cd792f904e38cd6d26d8;hpb=5fbc7e5d91972c465b940e1ce0aa1e25d6b66e5e;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index 4150993d..6a8caff6 100644 --- a/docs/jjb/lf-ci-jobs.rst +++ b/docs/jjb/lf-ci-jobs.rst @@ -5,67 +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-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-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. +.. literalinclude:: ../../jjb/lf-ci-job-groups.yaml + :language: yaml -:Includes: - - - github-packer-merge - - github-packer-verify Macros ====== @@ -232,7 +178,7 @@ currently the only cloud plugin supported. OpenStack Cloud plugin version supported: * 2.30 - 2.34 -* 2.35 - 2.36 +* 2.35 - 2.37 Cloud configuration are managed via a directory structure in ci-management as follows: @@ -271,9 +217,10 @@ configuration in the format ``KEY=value``. the one defined in default clouds will be inherited. :IMAGE_NAME: The image name to use for this template. - (default: "") + (required) + :HARDWARE_ID: OpenStack flavor to use. (required) + :LABELS: Labels to assign to the vm. (default: FILE_NAME) - :HARDWARE_ID: OpenStack flavor to use. (default: "") :NETWORK_ID: OpenStack network to use. (default: "") :USER_DATA_ID: User Data to pass into the instance. (default: jenkins-init-script) @@ -298,6 +245,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 @@ -312,6 +261,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 -------------- @@ -356,20 +329,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. @@ -391,20 +365,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. @@ -415,6 +390,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 @@ -439,7 +445,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) @@ -461,6 +467,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) @@ -474,6 +481,43 @@ 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-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) + :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) .. _gjjb-packer-merge: @@ -487,6 +531,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. @@ -504,8 +550,11 @@ 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) + :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) @@ -529,6 +578,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. @@ -541,7 +592,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)