-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathJenkinsfile_parameterized
More file actions
108 lines (96 loc) · 4.06 KB
/
Jenkinsfile_parameterized
File metadata and controls
108 lines (96 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!groovy
//noinspection GroovyUnusedAssignment
@Library("Infrastructure") _
//noinspection GroovyAssignabilityCheck
properties([
parameters([
choice(name: 'ENVIRONMENT', choices: 'sandbox\nsaat\nsprod\nnonprod\nprod', description: 'Environment where code should be build and deployed')
])
])
String product = "probate"
String component = "orchestrator-service"
List<LinkedHashMap<String, Object>> secrets = [
secret('probatePersistenceUrl', 'TEST_PERSISTENCE_URL'),
secret('probateBusinessUrl', 'TEST_BUSINESS_URL'),
secret('s2s-probate-backend', 'S2S_AUTH_TOTP_SECRET'),
secret('probateIdamSecret', 'IDAM_SECRET'),
secret('probateIdamUserName', 'IDAM_USERNAME'),
secret('probateIdamPassword', 'IDAM_PASSWORD'),
secret('probateCcdDataStoreApi', 'CCD_DATA_STORE_API_URL'),
secret('probateServiceAuthUrl', 'SERVICE_AUTH_PROVIDER_BASE_URL'),
secret('probateUserAuthUrl', 'USER_AUTH_PROVIDER_OAUTH2_URL'),
secret('probateIdamOauthRedirectUrl', 'IDAM_OAUTH2_REDIRECT_URI'),
secret('probate-mail-host', 'PROBATE_SUB_MAIL_HOST'),
secret('probate-mail-username', 'PROBATE_SUB_MAIL_USERNAME'),
secret('probate-mail-password', 'PROBATE_SUB_MAIL_PASSWORD'),
secret('probate-mail-port', 'PROBATE_SUB_MAIL_PORT'),
secret('probate-mail-sender', 'PROBATE_SUB_MAIL_SENDER'),
secret('probate-mail-recipient', 'PROBATE_SUB_MAIL_REC'),
secret('idamRedirectUrl', 'IDAM_REDIRECT_URL'),
secret('payCaseWorkerUser','PAYMENT_CASEWORKER_USERNAME'),
secret('payCaseWorkerPass','PAYMENT_CASEWORKER_PASSWORD'),
secret('schedulerCaseWorkerUser','SCHEDULER_CASEWORKER_USERNAME'),
secret('schedulerCaseWorkerPass','SCHEDULER_CASEWORKER_PASSWORD')
]
static LinkedHashMap<String, Object> secret(String secretName, String envVar) {
[ $class: 'AzureKeyVaultSecret',
secretType: 'Secret',
name: secretName,
version: '',
envVariable: envVar
]
}
withParameterizedPipeline('java', product, component, params.ENVIRONMENT, 'sandbox') {
env.PACT_BROKER_URL = "http://pact-broker.service.core-compute-saat.internal/"
loadVaultSecrets(secrets)
afterSucess('build') {
try {
sh './gradlew contract'
sh './gradlew pactPublish'
} finally {
//steps.archiveArtifacts "build/reports/pitest/**/*.*"
}
}
afterSuccess('test') {
junit 'build/test-results/test/**/*.xml'
archiveArtifacts 'build/reports/tests/test/index.html'
publishHTML target: [
allowMissing : true,
alwaysLinkToLastBuild: true,
keepAll : true,
reportDir : "build/reports/tests/test",
reportFiles : "index.html",
reportName : "probate-orchestrator-service Test Report"
]
publishHTML target: [
allowMissing : true,
alwaysLinkToLastBuild: true,
keepAll : true,
reportDir : "build/reports/jacoco",
reportFiles : "index.html",
reportName : "probate-orchestrator-service Code Coverage Report"
]
publishHTML target: [
allowMissing : true,
alwaysLinkToLastBuild: true,
keepAll : true,
reportDir : "build/reports/findbugs",
reportFiles : "main.html",
reportName : "probate-orchestrator-service find Bugs Report"
]
}
afterSuccess('functionalTest:saat') {
publishHTML target: [
reportDir : "target/site/serenity/",
reportFiles : "index.html",
reportName : "SAAT Functional Tests",
alwaysLinkToLastBuild: true
]
}
afterSuccess('functionalTest:aat') {
steps.archiveArtifacts allowEmptyArchive: true, artifacts: '**/site/serenity/**/*'
}
afterSuccess('functionalTest:preview') {
steps.archiveArtifacts allowEmptyArchive: true, artifacts: '**/site/serenity/**/*'
}
}