1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-11-24 08:32:32 +02:00
sap-jenkins-library/resources/default_pipeline_environment.yml
2024-07-11 12:19:28 +00:00

567 lines
17 KiB
YAML

#
# ATTENTION: This file is part of the API, breaking changes here directly affect the consumers of the library.
# Please avoid breaking changes if possible.
#
#Project Setup
general:
collectTelemetryData: false
logFormat: 'plain'
changeManagement:
type: 'NONE' # SOLMAN, CTS, NONE
transportRequestLabel: 'TransportRequest\s?:'
changeDocumentLabel: 'ChangeDocument\s?:'
clientOpts: ''
credentialsId: 'CM'
git:
from: 'origin/master'
to: 'HEAD'
format: '%b'
solman:
docker:
image: 'ppiper/cm-client:2.0.1.0'
options: []
envVars: {}
pullImage: true
cts:
osDeployUser: 'node'
deployToolDependencies:
- '@ui5/cli'
- '@sap/ux-ui5-tooling'
- '@ui5/logger'
- '@ui5/fs'
deployConfigFile: 'ui5-deploy.yaml'
nodeDocker:
image: 'node'
options: []
envVars: {}
pullImage: true
docker:
image: 'ppiper/cm-client:2.0.1.0'
options: []
envVars: {}
pullImage: true
rfc:
docker:
image: 'rfc'
options: []
envVars: {}
pullImage: true
githubApiUrl: 'https://api.github.com'
githubServerUrl: 'https://github.com'
gitSshKeyCredentialsId: '' #needed to allow sshagent to run with local ssh key
globalExtensionsDirectory: '.pipeline/tmp/global_extensions/'
jenkinsKubernetes:
jnlpAgent: 'jenkins/inbound-agent:jdk11'
securityContext:
# Setting security context globally is currently not working with jaas
# runAsUser: 1000
# fsGroup: 1000
manualConfirmation: true
manualConfirmationMessage: 'Shall we proceed to Promote & Release?'
manualConfirmationTimeout: 720 # 1 month
productiveBranch: 'master'
whitesource:
serviceUrl: 'https://saas.whitesourcesoftware.com/api'
dockerPullImage: true
sidecarPullImage: true
#Steps Specific Configuration
steps:
artifactSetVersion:
timestampTemplate: '%Y%m%d%H%M%S'
tagPrefix: 'build_'
commitVersion: true
gitPushMode: 'SSH'
verbose: false
gitHttpsCredentialsId: 'git'
gitDisableSslVerification: false
dub:
filePath: 'dub.json'
versioningTemplate: '${version}-${timestamp}${commitId?"+"+commitId:""}'
docker:
filePath: 'Dockerfile'
versioningTemplate: '${version}-${timestamp}${commitId?"_"+commitId:""}'
golang:
filePath: 'VERSION'
versioningTemplate: '${version}-${timestamp}${commitId?"+"+commitId:""}'
maven:
filePath: 'pom.xml'
versioningTemplate: '${version}-${timestamp}${commitId?"_"+commitId:""}'
mta:
filePath: 'mta.yaml'
versioningTemplate: '${version}-${timestamp}${commitId?"+"+commitId:""}'
npm:
filePath: 'package.json'
versioningTemplate: '${version}-${timestamp}${commitId?"+"+commitId:""}'
pip:
filePath: 'version.txt'
versioningTemplate: '${version}.${timestamp}${commitId?"."+commitId:""}'
sbt:
filePath: 'sbtDescriptor.json'
versioningTemplate: '${version}-${timestamp}${commitId?"+"+commitId:""}'
batsExecuteTests:
#TODO: check wheather defaults in here are still required
dockerImage: 'node:lts-buster'
dockerWorkspace: '/home/node'
envVars: {}
outputFormat: 'junit' # tap, junit
testPath: 'src/test'
failOnError: false
repository: 'https://github.com/bats-core/bats-core.git'
stashContent:
- 'tests'
testPackage: 'piper-bats'
checksPublishResults:
failOnError: false
tasks:
pattern: '**/*.java'
low: ''
normal: 'TODO,REVISE,XXX'
high: 'FIXME'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
pmd:
pattern: '**/target/pmd.xml'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
cpd:
pattern: '**/target/cpd.xml'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
findbugs:
pattern: '**/target/findbugsXml.xml, **/target/findbugs.xml'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
checkstyle:
pattern: '**/target/checkstyle-result.xml'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
eslint:
pattern: '**/eslint.xml'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
pylint:
pattern: '**/pylint.log'
archive: true
active: false
qualityGates:
- threshold: 1
type: 'TOTAL_HIGH'
unstable: false
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
archive: false
cloudFoundryDeploy:
cloudFoundry:
apiEndpoint: 'https://api.cf.eu10.hana.ondemand.com'
apiParameters: ''
loginParameters: ''
deployType: 'standard'
keepOldInstance: false
cfNativeDeployParameters: ''
mtaDeployParameters: '-f'
mtaExtensionDescriptor: ''
mtaPath: ''
smokeTestScript: 'blueGreenCheckScript.sh'
smokeTestStatusCode: 200
stashContent:
- 'deployDescriptor'
- 'pipelineConfigAndTests'
cf_native:
dockerImage: 'ppiper/cf-cli:latest'
dockerWorkspace: '/home/piper'
mtaDeployPlugin:
dockerImage: 'ppiper/cf-cli:latest'
dockerWorkspace: '/home/piper'
mta:
deployTool: 'mtaDeployPlugin'
maven:
deployTool: 'cf_native'
npm:
deployTool: 'cf_native'
docker:
deployTool: 'cf_native'
kaniko:
deployTool: 'cf_native'
debugReportArchive:
shareConfidentialInformation: false
dockerExecute:
stashContent: []
dockerExecuteOnKubernetes:
stashContent: []
stashIncludes:
workspace: '**/*'
stashExcludes:
workspace: 'nohup.out'
stashBack: '**/node_modules/**,nohup.out,.git/**'
dubExecute:
dockerImage: 'dlang2/dmd-ubuntu:latest'
githubPublishRelease:
addClosedIssues: false
addDeltaToLastRelease: false
customFilterExtension: ''
excludeLabels:
- 'duplicate'
- 'invalid'
- 'question'
- 'wontfix'
gatlingExecuteTests:
stashContent:
- 'source'
gaugeExecuteTests:
buildTool: 'maven'
dockerEnvVars:
HUB: 'TRUE'
HUB_URL: 'http://localhost:4444/wd/hub'
failOnError: false
installCommand: 'curl -SsL https://downloads.gauge.org/stable | sh -s -- --location=$HOME/bin/gauge'
stashContent:
- 'buildDescriptor'
- 'tests'
maven:
dockerImage: 'maven:3.5-jdk-8'
dockerName: 'maven'
dockerWorkspace: ''
languageRunner: 'java'
runCommand: 'mvn test-compile gauge:execute'
testOptions: '-DspecsDir=specs'
npm:
#TODO: check wheather defaults in here are still required
dockerImage: 'node:lts-buster'
dockerName: 'npm'
dockerWorkspace: '/home/node'
languageRunner: 'js'
runCommand: 'gauge run'
testOptions: 'specs'
bundler:
dockerImage: 'ruby:2.5.3-stretch'
dockerName: 'bundler'
dockerWorkspace: ''
languageRunner: 'ruby'
runCommand: 'bundle install && bundle exec gauge run'
testOptions: 'specs'
hadolintExecute:
qualityGates:
- threshold: 1
type: 'TOTAL_ERROR'
unstable: false
reportFile: 'hadolint.xml'
reportName: 'HaDoLint'
stashContent:
- 'buildDescriptor'
handlePipelineStepErrors:
echoDetails: true
failOnError: true
libraryDocumentationUrl: 'https://sap.github.io/jenkins-library/'
libraryRepositoryUrl: 'https://github.com/SAP/jenkins-library/'
mandatorySteps: []
stepTimeouts: {}
healthExecuteCheck:
healthEndpoint: ''
influxWriteData:
influxServer: ''
karmaExecuteTests:
containerPortMappings:
'node:lts-buster':
- containerPort: 9876
hostPort: 9876
dockerEnvVars:
NO_PROXY: 'localhost,selenium,$NO_PROXY'
no_proxy: 'localhost,selenium,$no_proxy'
#TODO: check wheather defaults in here are still required
dockerImage: 'node:lts-buster'
dockerName: 'karma'
dockerWorkspace: '/home/node'
installCommand: 'npm install --quiet'
modules:
- '.'
runCommand: 'npm run karma'
sidecarEnvVars:
NO_PROXY: 'localhost,karma,$NO_PROXY'
no_proxy: 'localhost,karma,$no_proxy'
stashContent:
- buildDescriptor
- tests
mailSendNotification:
notificationAttachment: true
notifyCulprits: true
numLogLinesInBody: 100
wrapInNode: false
mavenExecute:
dockerImage: 'maven:3.5-jdk-7'
logSuccessfulMavenTransfers: false
buildExecute:
npmInstall: true
npmRunScripts: []
neoDeploy:
dockerImage: 'ppiper/neo-cli'
deployMode: 'mta'
warAction: 'deploy'
extensions: []
mavenDeploymentModule: '.'
neo:
size: 'lite'
credentialsId: 'CI_CREDENTIALS_ID'
credentialType: 'UsernamePassword'
portalLandscape: "cloudnwcportal"
multicloudDeploy:
cfTargets: []
neoTargets: []
enableZeroDowntimeDeployment: false
parallelExecution: false
npmExecute:
#TODO: check wheather defaults in here are still required
dockerImage: 'node:lts-buster'
npmExecuteScripts:
install: true
npmExecuteEndToEndTests:
runScript: 'ci-e2e'
whitesourceExecuteScan:
vulnerabilityReportFileName: 'piper_whitesource_vulnerability_report'
stashExcludes:
stashBack: '.pipeline/** whitesourceExecuteScan_*.* whitesource-reports/**'
pipelineExecute:
branch: 'master'
path: 'Jenkinsfile'
credentialsId: ''
pipelineRestartSteps:
sendMail: true
timeoutInSeconds: 900
stepMessage: 'Do you want to restart?'
pipelineStashFilesAfterBuild:
stashIncludes:
buildResult: '**/target/*.war, **/target/*.jar, **/*.mtar, **/*.jar.original, **/dist/**'
checkmarx: '**/*.js, **/*.scala, **/*.py, **/*.go, **/*.d, **/*.di, **/*.xml, **/*.html, **/*.ts'
checkmarxOne: '**/*.js, **/*.scala, **/*.py, **/*.go, **/*.d, **/*.di, **/*.xml, **/*.html, **/*.ts'
classFiles: '**/target/classes/**/*.class, **/target/test-classes/**/*.class'
sonar: '**/jacoco*.exec, **/sonar-project.properties'
stashExcludes:
buildResult: ''
checkmarx: '**/*.mockserver.js, node_modules/**/*.js'
checkmarxOne: '**/*.mockserver.js, node_modules/**/*.js'
classFiles: ''
sonar: ''
noDefaultExludes: []
pipelineStashFilesBeforeBuild:
stashIncludes:
buildDescriptor: '**/pom.xml, **/.mvn/**, **/assembly.xml, **/.swagger-codegen-ignore, **/package.json, **/requirements.txt, **/setup.py, **/mta*.y*ml, **/.npmrc, **/Dockerfile, .hadolint.yaml, **/VERSION, **/version.txt, **/Gopkg.*, **/dub.json, **/dub.sdl, **/build.sbt, **/sbtDescriptor.json, **/project/*, **/ui5.yaml, **/ui5.yml'
deployDescriptor: '**/manifest*.y*ml, **/*.mtaext.y*ml, **/*.mtaext, **/xs-app.json, helm/**, **/*.y*ml, **/*.tpl, **/*.tgz'
git: '.git/**'
opensourceConfiguration: '**/srcclr.yml, **/vulas-custom.properties, **/.nsprc, **/.retireignore, **/.retireignore.json, **/.snyk, **/wss-unified-agent.config, **/vendor/**/*'
pipelineConfigAndTests: '.pipeline/**'
securityDescriptor: '**/xs-security.json'
tests: '**/pom.xml, **/*.json, **/*.xml, **/src/**, **/node_modules/**, **/specs/**, **/env/**, **/*.js, **/tests/**, **/*.html, **/*.css, **/*.properties, **/*.cds'
checkmarx: '**/*.js, **/*.scala, **/*.py, **/*.go, **/*.xml, **/*.html, **/*.d, **/*.di, **/*.ts'
checkmarxOne: '**/*.js, **/*.scala, **/*.py, **/*.go, **/*.xml, **/*.html, **/*.d, **/*.di, **/*.ts'
stashExcludes:
buildDescriptor: '**/node_modules/**/package.json'
deployDescriptor: ''
git: ''
opensourceConfiguration: ''
pipelineConfigAndTests: ''
securityDescriptor: ''
tests: ''
checkmarx: '**/*.mockserver.js, node_modules/**/*.js'
checkmarxOne: '**/*.mockserver.js, node_modules/**/*.js'
noDefaultExludes:
- 'git'
piperPublishWarnings:
parserId: piper
parserName: Piper
parserPattern: '\[(INFO|WARNING|ERROR)\] (.*) \(([^) ]*)\/([^) ]*)\)'
parserScript: 'return builder.guessSeverity(matcher.group(1)).setMessage(matcher.group(2)).setModuleName(matcher.group(3)).setType(matcher.group(4)).buildOptional()'
recordIssuesSettings:
skipBlames: true
enabledForFailure: true
seleniumExecuteTests:
buildTool: 'npm'
containerPortMappings:
'selenium/standalone-chrome':
- containerPort: 4444
hostPort: 4444
failOnError: true
sidecarImage: 'selenium/standalone-chrome'
sidecarName: 'selenium'
sidecarVolumeBind:
'/dev/shm': '/dev/shm'
stashContent:
- 'tests'
maven:
dockerImage: 'maven:3.5-jdk-8'
dockerName: 'maven'
dockerWorkspace: ''
npm:
dockerImage: 'node:lts-buster'
dockerName: 'npm'
dockerWorkspace: '/home/node'
bundler:
dockerImage: 'ruby:2.5.3-stretch'
dockerName: 'bundler'
dockerWorkspace: ''
slackSendNotification:
color: "${['SUCCESS': '#8cc04f', 'FAILURE': '#d54c53', 'ABORTED': '#949393', 'UNSTABLE': '#f6b44b', 'PAUSED': '#24b0d5', 'UNKNOWN': '#d54cc4'].get(buildStatus, '#d54cc4')}"
defaultMessage: "${buildStatus}: Job ${env.JOB_NAME} <${env.BUILD_URL}|#${env.BUILD_NUMBER}>"
snykExecute:
buildDescriptorFile: './package.json'
dockerImage: 'node:lts-buster'
exclude: []
monitor: true
scanType: 'npm'
stashContent:
- 'buildDescriptor'
- 'opensourceConfiguration'
toJson: false
toHtml: false
spinnakerTriggerPipeline:
certFileCredentialsId: 'spinnaker-client-certificate'
keyFileCredentialsId: 'spinnaker-client-key'
timeout: 60
testsPublishResults:
failOnError: false
junit:
pattern: '**/TEST-*.xml'
updateResults: false
allowEmptyResults: true
archive: false
active: false
jacoco:
pattern: '**/target/*.exec'
allowEmptyResults: true
archive: false
active: false
cobertura:
pattern: '**/target/coverage/**/cobertura-coverage.xml'
onlyStableBuilds: true
allowEmptyResults: true
archive: false
active: false
jmeter:
pattern: '**/*.jtl'
filterRegex: ''
errorFailedThreshold: 20
errorUnstableThreshold: 10
errorUnstableResponseTimeThreshold: ''
relativeFailedThresholdPositive: 0
relativeFailedThresholdNegative: 0
relativeUnstableThresholdPositive: 0
relativeUnstableThresholdNegative: 0
modeOfThreshold: false
modeThroughput: false
nthBuildNumber: 0
configType: 'PRT'
failBuildIfNoResultFile: false
compareBuildPrevious: true
allowEmptyResults: true
archive: false
active: false
cucumber:
pattern: '**/e2e/*.json'
allowEmptyResults: true
archive: false
active: false
htmlPublisher:
allowMissing: true
alwaysLinkToLastBuild: false
keepAll: true
reportDir: ""
pattern: "**/reports/coverage-reports/**/index.html"
reportName: "Results"
active: false
checkChangeInDevelopment:
failIfStatusIsNotInDevelopment: true
tmsUpload:
namedUser: 'Piper-Pipeline'
mtaVersion: '*'
stashContent:
- 'buildResult'
transportRequestCreate:
developmentSystemId: null
verbose: false
transportRequestUploadFile:
acceptUnixStyleLineEndings: true
codePage: 'UTF-8'
failOnWarning: true
verbose: false
transportRequestRelease:
verbose: false
transportRequestUploadRFC:
credentialsId: 'RFC_CREDENTIALS_ID'
writeTemporaryCredentials:
credentialsDirectories:
- './'
- 'integration-tests/src/test/resources'
#defaults for stage wrapper
piperStageWrapper:
projectExtensionsDirectory: '.pipeline/extensions/'
stageLocking: true
nodeLabel: ''
stashContent:
- 'pipelineConfigAndTests'
xsDeploy:
credentialsId: 'XS'
deployIdLogPattern: '^.*"xs bg-deploy -i (.*) -a .*".*$'
loginOpts: ''
deployOpts: ''
dockerPullImage: false
docker:
dockerImage: ''
dockerPullImage: false
mode: 'DEPLOY'
action: 'NONE'
xsSessionFile: '.xsconfig'
piperPipelineStageInit:
stepMappings:
checkmarx: 'checkmarxExecuteScan'
fortify: 'fortifyExecuteScan'
karma: 'karmaExecuteTests'
whitesource: 'whitesourceExecuteScan'
labelPrefix: pr_
cnbBuild:
stashIncludes:
stashBack: '**/target/*.exec, **/*.jtl, **/target/**/*.xml'