-
Notifications
You must be signed in to change notification settings - Fork 9
/
Jenkinsfile_parameterized
35 lines (31 loc) · 1.12 KB
/
Jenkinsfile_parameterized
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
#!groovy
@Library("Infrastructure") _
def secrets = [
's2s-${env}':
[
secret('microservicekey-send-letter-tests', 'TEST_SERVICE_SECRET')
]
]
def expiresAfter = "3000-01-01"
static LinkedHashMap<String, Object> secret(String secretName, String envVar) {
[ $class: 'AzureKeyVaultSecret',
secretType: 'Secret',
name: secretName,
version: '',
envVariable: envVar
]
}
properties([
parameters([
string(name: 'PRODUCT_NAME', defaultValue: 'rpe', description: ''),
string(name: 'APP', defaultValue: 'service-auth-provider', description: ''),
string(name: 'TYPE', defaultValue: 'java', description: ''),
string(name: 'ENVIRONMENT', defaultValue: 'sandbox', description: 'Environment where code should be built and deployed'),
choice(name: 'SUBSCRIPTION', choices: 'sandbox\nnonprod\nprod', description: 'Azure subscriptions available to build in')
])
])
withParameterizedPipeline(params.TYPE, params.PRODUCT_NAME, params.APP, params.ENVIRONMENT, params.SUBSCRIPTION) {
enableSlackNotifications('#platops-build-notices')
loadVaultSecrets(secrets)
expires(expiresAfter)
}