From 307868565936d7a5338e1a76dc8a048d914b29be Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Thu, 20 Apr 2017 00:44:00 -0400 Subject: [PATCH] Document steps for deploying ci-jobs Provide step-by-step instructions in the README for how to deploy ci-jobs to a project ci-management repo. Change-Id: I4ed845b0e160f2f2b5a60a04a14848067ee41c2b Signed-off-by: Thanh Ha --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/README.md b/README.md index ce7d420f..edba0d91 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,64 @@ SILO=releng - OpenStack Cloud - Timestamps +## Installing global-jjb + +global-jjb should be deployed in the ci-management repository's jjb directory as +a submodule. global-jjb is versioned and tagged in Gerrit so installing, +upgrading, and rolling back changes should be simple via the Gerrit tag system. + +``` + # Choose a global-jjb version to install + GLOBAL_JJB_VERSION=v0.1.0 + + # Add the new submodule to ci-management's jjb directory. + # Note: Only needs to be performed once per ci-management repo. + cd jjb/ + git submodule add https://gerrit.linuxfoundation.org/infra/releng/global-jjb + + # Checkout the version of global-jjb you wish to deploy. + cd global-jjb + git checkout $GLOBAL_JJB_VERSION + + # Commit global-jjb version to the ci-management repo. + cd ../.. + git add jjb/global-jjb + git commit -sm "Install global-jjb $GLOBAL_JJB_VERSION" + + # Push the patch to ci-management for review + git review +``` + +## Parameters stored in defaults.yaml + +There are a few project specific parameters that should be stored in the +ci-management repo's defaults.yaml file. + +**gerrit-server-name**: The name of the Gerrit Server as defined in Gerrit +Trigger global configuration. + +**jenkins-ssh-credential**: The name of the Jenkins Credential to use for ssh +connections. + +defaults.yaml: + +``` +- defaults: + name: global + + # lf-infra defaults + jenkins-ssh-credential: opendaylight-jenkins-ssh + gerrit-server-name: OpenDaylight +``` + +## Config File Management + +### Logs + +The logs account requires a Maven Settings file created called +**jenkins-log-archives-settings** with a server ID of **logs** containing the +credentials for the logs user in Nexus. + ## Deploying ci-jobs The CI job group contains multiple jobs that should be deployed in all LF @@ -42,6 +100,8 @@ 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**. +ci-management.yaml: + ``` - project: name: ci-jobs -- 2.16.6