generated from hmcts/spring-boot-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Jenkinsfile_nightly
75 lines (64 loc) · 3.05 KB
/
Jenkinsfile_nightly
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
#!groovy
properties([
// H allow predefined but random minute see https://en.wikipedia.org/wiki/Cron#Non-standard_characters
pipelineTriggers([cron('H 8 * * 1-5')]),
parameters([
string(name: 'URL_TO_TEST', defaultValue: 'http://ccpay-notifications-service-aat.service.core-compute-aat.internal', description: 'The URL you want to run these tests against'),
string(name: 'SecurityRules',
defaultValue: 'http://raw.githubusercontent.com/hmcts/security-test-rules/master/conf/security-rules.conf',
description: 'SecurityUrl against which rules will be executed'),
])
])
@Library("Infrastructure")
def type = "java"
def product = "ccpay"
def component = "notifications-service"
def secrets = [
'ccpay-${env}': [
secret('refunds-api-client-secret', 'REFUND_SERVICE_ACCOUNT_CLIENT_SECRET'),
secret('refunds-api-user-password', 'REFUND_SERVICE_ACCOUNT_PASSWORD'),
secret('notifications-s2s-secret', 'OIDC_S2S_SECRET'),
secret('paybubble-s2s-secret', 'S2S_SERVICE_SECRET_PAYBUBBLE'),
secret('freg-idam-generated-user-email-pattern', 'GENERATED_USER_EMAIL_PATTERN'),
secret('freg-idam-test-user-password', 'TEST_USER_PASSWORD'),
secret('notifications-letter-template-id', 'NOTIFICATION_LETTER_TEMPLATE_ID'),
secret('notifications-email-template-id', 'NOTIFICATION_EMAIL_TEMPLATE_ID'),
secret('paybubble-idam-client-secret','IDAM_PAYBUBBLE_CLIENT_SECRET'),
secret('notifications-letter-card-pba-template-id','NOTIFICATION_LETTER_CARD_PBA_TEMPLATE_ID'),
secret('notifications-email-card-pba-template-id','NOTIFICATION_EMAIL_CARD_PBA_TEMPLATE_ID'),
secret('notifications-letter-cheque-po-cash-template-id','NOTIFICATIONS_LETTER_CHEQUE_PO_CASH_TEMPLATE_ID'),
secret('notifications-email-cheque-po-cash-template-id','NOTIFICATIONS_EMAIL_CHEQUE_PO_CASH_TEMPLATE_ID'),
secret('notifications-letter-refund-when-contacted-template-id','NOTIFICATION_LETTER_REFUND_WHEN_CONTACTED_TEMPLATE_ID'),
secret('notifications-email-refund-when-contacted-template-id','NOTIFICATION_EMAIL_REFUND_WHEN_CONTACTED_TEMPLATE_ID'),
secret('postcode-address-lookup-id','POSTCODE_ADDRESS_LOOKUP_ID')
]
]
static LinkedHashMap<String, Object> secret(String secretName, String envVar) {
[ $class: 'AzureKeyVaultSecret',
secretType: 'Secret',
name: secretName,
version: '',
envVariable: envVar
]
}
withNightlyPipeline(type, product, component) {
env.TEST_URL = params.URL_TO_TEST
loadVaultSecrets(secrets)
enableSecurityScan()
enableMutationTest()
enableFortifyScan('ccpay-aat')
enableFullFunctionalTest()
afterAlways('fortify-scan') {
steps.archiveArtifacts allowEmptyArchive: true, artifacts: '**/Fortify Scan/**/*'
}
afterAlways('fullFunctionalTest') {
steps.archiveArtifacts allowEmptyArchive: true, artifacts: '**/site/serenity/**/*'
publishHTML target: [
reportDir : "target/site/serenity/",
reportFiles : "index.html",
reportName : "AAT Functional Tests",
alwaysLinkToLastBuild: true
]
}
enableSlackNotifications('#fee-pay-nightly-pipeline')
}