X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=README.md;h=454992785e4ef4aedb61af0448b061453f26e92f;hb=3b63df8005fce1094538a0c4847150fc51bf2ab3;hp=ce7d420fb7fc8bde222c3aa771bb8a9079961da8;hpb=851b0b6d0cfe84e986548fd596a9b2f18413fefd;p=releng%2Fglobal-jjb.git diff --git a/README.md b/README.md index ce7d420f..45499278 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,50 @@ + + + # Global JJB -The purpose of this repository is store generically define reusable JJB -templates that can be deployed across LF projects. +Global-JJB is a library project containing reusable Jenkins Job Builder +templates. Developed for LFCI to deploy management Jenkins jobs to an LF +managed Jenkins instance, there are other jobs defined which may be helpful +to projects that use the same build technology. The intention is to help +projects save time from having to define their own job templates. + +## Guides + +### [Install](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/) + +- [Jenkins configuration](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/install.html#jenkins-configuration) -The following variables are necessary to be defined in the Jenkins server as -global environment variables as scripts in this repo expect these variables to -be available. +- [ci-management](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/install.html#ci-management) -For example: +- [Deploy ci-jobs](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/install.html#deploy-ci-jobs) -``` -GIT_URL=ssh://jenkins-$SILO@git.opendaylight.org:29418 -JENKINS_HOSTNAME=jenkins092 -LOGS_SERVER=https://logs.opendaylight.org -NEXUS_URL=https://nexus.opendaylight.org -SILO=releng -``` +- [Deploy packer-jobs](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/install.html#deploy-packer-jobs) -## Jenkins Plugin Requirements +### [Configuration](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/configuration.html) -**Required** +- [defaults.yaml](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/configuration.html#defaults-yaml) -- Config File Provider -- Description Setter -- Gerrit Trigger -- Post Build Script -- SSH Agent -- Workspace Cleanup +- [Jenkins Files](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/configuration.html#jenkins-files) -**Optional** +- [Jenkins CI Jobs](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/configuration.html#jenkins-ci-jobs) -- Mask Passwords -- MsgInject -- OpenStack Cloud -- Timestamps +- [Log Archiving](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/configuration.html#log-archiving) -## Deploying ci-jobs +### [Best Practices](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html) -The CI job group contains multiple jobs that should be deployed in all LF -Jenkins infra. The minimal configuration needed to deploy the ci-management -jobs is as follows which deploys the **{project-name}-ci-jobs** job group as -defined in **lf-ci-jobs.yaml**. +- [JJB YAML Layout](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#jjb-yaml-layout) -``` -- project: - name: ci-jobs +- [Passing parameters to shell scripts](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#passing-parameters-to-shell-scripts) - jobs: - - '{project-name}-ci-jobs' +- [Shell scripts](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#shell-scripts) - project: ci-management - project-name: ci-management - build-node: centos7-basebuild-2c-1g -``` +- [Usage of config-file-provider](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#usage-of-config-file-provider) -Required parameters: +- [Preserving Objects in Variable References](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#preserving-objects-in-variable-references) -**project**: is the project repo as defined in Gerrit. -**project-name**: is a custom name to call the job in Jenkins. -**build-node**: is the name of the builder to use when building (Jenkins label). +- [Using single quotes around variables](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#using-single-quotes-around-variables) -Optional parameters: +- [Variable expansion and Defaults](https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/best-practices.html#variable-expansion-and-defaults) -**branch**: is the git branch to build from. -**jjb-version**: is the version of JJB to install in the build minion. +## For Detail Documentation [Global-JJB](http://docs.releng.linuxfoundation.org/projects/global-jjb)