X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-ci-jobs.rst;h=9883dd7a74be04cb68729aa0ad8aca4f03da3dd6;hb=dac841636d7872b5f1028909a226b2d32b671a05;hp=f55b5dce9e38629beee7ffbdc6ebf7d4e77e0cae;hpb=6cab29507df33601d287c8688dffa1ec475f1f57;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-ci-jobs.rst b/docs/jjb/lf-ci-jobs.rst index f55b5dce..9883dd7a 100644 --- a/docs/jjb/lf-ci-jobs.rst +++ b/docs/jjb/lf-ci-jobs.rst @@ -64,13 +64,6 @@ lf-infra-jjbini Provides jenkins_jobs.ini configuration for Jenkins. -lf-infra-jjbini-sandbox ------------------------ - -Provides jenkins_jobs.ini configuration for Jenkins sandbox. - -.. todo:: This needs to be consolidated into lf-infra-jjbini when JJB 2.0 is available - lf-packer-common ---------------- @@ -96,6 +89,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 ============= @@ -129,6 +132,8 @@ Job submits a patch to lock or unlock a project's branch. Often the same as the branch. (default: master) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) :gerrit_merge_triggers: Override Gerrit Triggers. .. _lf-global-jjb-jenkins-cfg-merge: @@ -359,6 +364,18 @@ 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 all builder-jjb-* jobs to the sandbox system. @@ -402,6 +419,8 @@ Runs `jenkins-jobs update` to update production job configuration :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) @@ -409,6 +428,8 @@ Runs `jenkins-jobs update` to update production job configuration (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) :gerrit_merge_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths which can be used to @@ -439,6 +460,8 @@ 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) @@ -450,6 +473,17 @@ Runs `jenkins-jobs test` to validate JJB syntax (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) + :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 @@ -495,7 +529,7 @@ Info YAML Verify Info YAML Verify job validates that INFO.yaml file changes are kept isolated from other file changes. Verifies INFO.yaml files follow the schema defined in -`global-jjb/info-schema`. +`lfit/releng-global-jjb/schema/info-schema.yaml`. :Template Names: - {project-name}-info-yaml-verify @@ -520,6 +554,8 @@ other file changes. Verifies INFO.yaml files follow the schema defined in (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) :gerrit_verify_triggers: Override Gerrit Triggers. @@ -603,6 +639,8 @@ containing the credentials for the cloud. (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) Minimal Example: @@ -658,6 +696,8 @@ Packer Merge job runs `packer build` to build system images in the cloud. (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) :gerrit_verify_triggers: Override Gerrit Triggers. @@ -715,7 +755,86 @@ Packer Verify job runs `packer validate` to verify packer configuration. (default: true) :submodule-timeout: Timeout (in minutes) for checkout operation. (default: 10) + :submodule-disable: Disable submodule checkout operation. + (default: false) :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) + :submodule-disable: Disable submodule checkout operation. + (default: false) + + +Sonar +----- + +Runs Jenkins Sonarqube plug-in to review for bugs, code smells, +and security vulnerabilities. + +Requires ``SonarQube Scanner for Jenkins`` + +Plug-in configurations + Manage Jenkins --> Configure System --> SonarQube servers + - Name: Sonar (fixed) + - Server URL: https://sonar.server.org/ + - Server authentication token: none + + Manage Jenkins --> Global Tool Configuration --> SonarQube Scanner + - Name: SonarQube Scanner (fixed) + - Install automatically + - Select latest version + +:Template Names: + + - {project-name}-sonar + - gerrit-sonar + - github-sonar + +:Optional Parameters: + :sonar-task: Sonar task to run. (default: "") + :sonar-properties: Sonar configuration properties. (default: "") + :sonar-java-opts: JVM options. (default: "") + :sonar-additional-args: Additional command line arguments. (default: "")