jenkins-pipelines/scripts/templates/build.conf.example.in

223 lines
7.8 KiB
Plaintext

##################################################
# Build configuration
##################################################
# Build user
BUILD_USER="jenkins"
# User name & email
USER_NAME="Jenkins"
USER_EMAIL="davlet.panech@windriver.com"
# Branch name, used as part of build directories & artifacts
BUILD_BRANCH="master"
# Branch name in Docker tag compatible format. e.g. no '/' allowed
# StarlingX release branches use r/stx.8.0 so we transform that to
# rc-stx.8.0
BUILD_BRANCH_FOR_IMAGE_TAG="${BUILD_BRANCH/#r\//rc-}"
# Project name, must be unique for a given BUILD_USER
PROJECT_ID="dpanech-debian"
# Should be the same as PROJECT_ID, but must contain only lower-case letters,
# digits and dashes. It will be used as the k8s namespace and as part of the
# build tools helm chart & service IDs.
PROJECT="$(echo $PROJECT_ID | sed -r 's/[^a-zA-Z0-9-]+/-/g' | tr A-Z a-z)"
# Repo manifest to clone
MANIFEST_URL="https://opendev.org/starlingx/manifest"
MANIFEST_BRANCH="master"
MANIFEST="default.xml"
# File containing product release information, relative to repo root
RELEASE_INFO_FILE="cgcs-root/stx/utilities/utilities/build-info/release-info.inc"
# Alternatively, set version explicitly
#SW_VERSION="22.06"
# How many times to call "build-pkgs"
BUILD_PACKAGES_ITERATIONS=3
# Debian snapshot URLs. Leave them empty to use the defaults hard-coded
# in stx/tools
DEBIAN_SNAPSHOT_BASE="http://https://snapshot.debian.org/archive/debian"
DEBIAN_SECURITY_SNAPSHOT_BASE="https://snapshot.debian.org/archive/debian-security"
# ISO sigining
SIGN_ISO=false # If false, don't signe the ISO
SIGNING_SERVER="some.host.org"
SIGNING_USER="some_user_id"
# Run this command inside the build container at the end of the build
# Current directory will be set to $MY_WORKSPACE/export.
# This command must leave any additional files to be published in that
# directory.
#
# $MY_WORKSPACE/export will be copied to the publish area at the end.
EXTRA_EXPORT_DIR_CMD=
# Copy these additional files to $MY_WORKSPACE/export. This must be a
# whitespace or comma-separated list of glob patterns. Relative path names
# will be interpreted relative to the build output directory (ie
# BUILD_OUTPUT_ROOT/TIMESTAMP). Source repo root can be accessed as
# "root/cgcs-root/...". Patterns that begin with "-" refer to optional
# files that won't cause errors when they don't exist.
#
# $MY_WORKSPACE/export will be copied to the publish area at the end.
EXTRA_EXPORT_FILES=
# Build & publish stx-remote-cli tarball (StarlingX only)
BUILD_REMOTE_CLI=false
##################################################
# Build outputs
##################################################
# Archive artifacts in $BUILD_OUTPUT_ROOT/timestamp
BUILD_OUTPUT_ROOT="/localdisk/loadbuild/$BUILD_USER/$PROJECT_ID"
BUILD_OUTPUT_ROOT_URL="http://$(hostname -f):8088${BUILD_OUTPUT_ROOT}"
# Publish import artifacts to: $PUBLISH_ROOT/<PUBLISH_TIMESTAMP>/$PUBLISH_SUBDIR
# Create latest symlink in: $PUBLISH_ROOT/latest_build
# CENGN: publish to a location outside of the archive directory
#PUBLISH_ROOT="/export/mirrors/$PROJECT_ID/$MANIFEST_BRANCH/debian/monolithic"
#PUBLISH_ROOT_URL="http://$(hostname -f):8088${PUBLISH_ROOT}"
#PUBLISH_SUBDIR="" # may be empty
#PUBLISH_LATEST_LINK=true # create latest symlink?
# For private builds, publish to a subdirectory of the archive location
PUBLISH_ROOT="$BUILD_OUTPUT_ROOT"
PUBLISH_ROOT_URL="http://$(hostname -f):8088${PUBLISH_ROOT}"
PUBLISH_SUBDIR="export" # may be empty
PUBLISH_LATEST_LINK=false # create latest symlink?
##################################################
# Docker configuration
##################################################
# How many times to try building docker images
DOCKER_BUILD_RETRY_COUNT=3
# Docker config file used for authentication when pushing images. If empty,
# defaults to $USER/.docker/config.json. May be relative to $BUILD_HOME.
DOCKER_CONFIG_FILE="docker-config.json"
# Push docker images to this registry. Empty value means docker hub.
#DOCKER_REGISTRY="some.host.org:1234"
DOCKER_REGISTRY=
# Prefix docker image names with this namespace
#DOCKER_REGISTRY_ORG="starlingx"
DOCKER_REGISTRY_ORG="SOME_USER"
# Additional "REGISTRY/NAMESPACE" to push docker images to,
# may contain multiple elements, space-separated
DOCKER_EXTRA_REGISTRY_PREFIX_LIST=
# Space separated list of docker registries that require authentication
# before pushing.
#
# Credentials must be in $DOCKER_CONFIG_FILE
#DOCKER_REGISTRY_PUSH_LOGIN_LIST="some.host.org:1234"
DOCKER_REGISTRY_PUSH_LOGIN_LIST=
# Disable SSL validation for these docker registries, space-separasted
INSECURE_DOCKER_REGISTRIES="some.host.org:1234 some.other.host.org:1234"
# Use pod URLs in apt sources.list within the base image. This makes apt
# sources in docker images unuseable outside of the builder pods.
USE_POD_URLS_IN_DOCKER_IMAGES="false"
# Base image for all docker images. If unset, we will build our own.
DOCKER_IMAGE_BASE=
#
# Space or comma-separated helm chart package names or glob patterns
#
# For each matching package we will extract the charts tarball & replace
# image names & tags with images generated by the local build, once
# for -$TIMSTAMP tags and once for -latest tags.
#
# These patterns will be matched against the names in debian_helm.inc files
#
# Example: HELM_CHART_PACKAGES="stx-openstack-helm" will create 2 tarballs
# similar to:
# stx-openstack-1.0-1.stx.4-debian-stable-latest.tgz
# stx-openstack-1.0-1.stx.4-debian-stable-versioned.tgz
#
HELM_CHART_PACKAGES=
#
# Space or comma-separated helm chart package names or glob patterns
#
# For each matching package we will extract the charts tarball and
# save it among build artifacts, w/o replacing the image names.
#
# These patterns will be matched against the names in debian_helm.inc files
#
# Packages that also match HELM_CHART_PACKAGES will be automatically
# excluded, even if they match this option.
#
# Example: EXTRA_HELM_CHART_PACKAGES="stx-*-helm" might create something
# like:
# stx-monitor-1.0-1.stx.1.tgz
#
EXTRA_HELM_CHART_PACKAGES=
# Directory containing additional image names & tags to be replaced in
# helm charts
EXTRA_IMAGE_RECORD_DIR=
##################################################
# Jenkins & K8S parameters
##################################################
# Must be <= k8s container network's MTU
CONTAINER_MTU="1410"
# "kubernetes" or "minikube"
K8S_PLATFORM="kubernetes"
# Create builder pods in this k8s namespace
K8S_NAMESPACE="$PROJECT_ID"
# Start up time out for builder pods in seconds
BUILDER_POD_STARTUP_TIMEOUT="300"
# Used by the stx tool (?)
BUILD_CPUS=4
# Configuration for kubectl, if empty defaults to $USER/.kube/config
KUBECONFIG=/localdisk/designer/jenkins/dpanech-debian/kube-config
# Minikube profile name
MINIKUBENAME=minikube-$BUILD_USER-$PROJECT
# Minikube memory (default: auto)
MINIKUBEMEMORY=
# Minikube home dir (default: $HOME), must not be NFS
MINIKUBE_HOME=
# A jenkins "credentials" record that contains the username/password for
# accessing Jenkins' REST API.
JENKINS_API_CREDENTIALS_ID="jenkins-api"
# GNU parallel - if not empty must be a command installed on host
# Makes some operations faster
PARALLEL_CMD="parallel"
PARALLEL_CMD_JOBS="12"
# How many chroots & build-pkgs jobs to run in parallel
# Default: 1
#BUILD_PACKAGES_PARALLEL_JOBS=
# URL of the deb-local-build and deb-local-source repos from which we
# will pull pre-build packages if the PKG_REUSE flag is requested.
# The following URLs are examples applicable only to the master branch.
# Substituting a reference build local to your office would be a lot
# faster than pulling from cengn.
#STX_SHARED_REPO=http://mirror.starlingx.cengn.ca/mirror/starlingx/master/debian/monolithic/latest_build/outputs/aptly/deb-local-build
#STX_SHARED_SOURCE=http://mirror.starlingx.cengn.ca/mirror/starlingx/master/debian/monolithic/latest_build/outputs/aptly/deb-local-source