-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile.nightly
86 lines (80 loc) · 3.01 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
76
77
78
79
80
81
82
83
84
85
86
/* groovylint-disable DuplicateStringLiteral, Indentation, NestedBlockDepth */
library(
identifier: 'jenkins-shared-library@master',
retriever: modernSCM(
[
$class: 'GitSCMSource',
remote: 'https://github.com/dhanarab/jenkins-pipeline-library.git'
]
)
)
bitbucketHttpsCredentials = 'bitbucket-build-extend-https'
bitbucketCredentialsSsh = 'bitbucket-build-extend-ssh'
bitbucketCommitHref = null
jobChannel = env.SLACK_CHANNEL_ACTIVITY_EXTEND_ENGINEERING ? env.SLACK_CHANNEL_ACTIVITY_EXTEND_ENGINEERING : "#activity-extend-engineering"
pipeline {
agent {
label "${params.AGENT_LABEL}"
}
stages {
stage('Prepare') {
steps {
script {
OS_NAME = sh(script: "uname -s", returnStdout: true).trim()
currentBuild.displayName = "#${env.BUILD_NUMBER} ${OS_NAME}"
gitRepositoryName = git.getRepositoryName()
gitCommitHash = git.getCommitHash()
bitbucketCommitHref = "https://api.bitbucket.org/2.0/repositories/accelbyte/${gitRepositoryName}/commit/${gitCommitHash}"
bitbucket.setBuildStatus(
bitbucketHttpsCredentials, bitbucketCommitHref, 'INPROGRESS', env.JOB_NAME.take(30),
"${env.JOB_NAME}-${env.BUILD_NUMBER}", 'Jenkins', "${env.BUILD_URL}console")
}
}
}
stage('Test Sample') {
options {
lock("justice-extend-app-test")
}
stages {
stage('Local Hosted') {
steps {
withCredentials([file(credentialsId: 'extend-sample-app-integration-test-env', variable: 'ENV_PATH')]) {
sh 'cat $ENV_PATH > tmp.env'
sh "{ set +x; } 2>/dev/null; echo '+ echo -e ****'; printf '\n${params.ENV_VAR_OVERRIDE}' >> tmp.env"
sh 'make test_sample_local_hosted ENV_PATH=tmp.env'
}
}
}
// stage('AccelByte Hosted') {
// steps {
// withCredentials([file(credentialsId: 'extend-sample-app-integration-test-env', variable: 'ENV_PATH')]) {
// sh 'cat $ENV_PATH > tmp.env'
// sh "{ set +x; } 2>/dev/null; echo '+ echo -e ****'; printf '\n${params.ENV_VAR_OVERRIDE}' >> tmp.env"
// sh 'make test_sample_accelbyte_hosted ENV_PATH=tmp.env'
// }
// }
// }
}
}
}
post {
success {
script {
bitbucket.setBuildStatus(
bitbucketHttpsCredentials, bitbucketCommitHref, 'SUCCESSFUL', env.JOB_NAME.take(30),
"${env.JOB_NAME}-${env.BUILD_NUMBER}", 'Jenkins', "${env.BUILD_URL}console")
}
}
failure {
script {
bitbucket.setBuildStatus(
bitbucketHttpsCredentials, bitbucketCommitHref, 'FAILED', env.JOB_NAME.take(30),
"${env.JOB_NAME}-${env.BUILD_NUMBER}", 'Jenkins', "${env.BUILD_URL}console")
message = """
:no_entry: <${env.BUILD_URL}|${env.JOB_NAME}-${env.BUILD_NUMBER}> *failed*
|""".stripMargin()
slackSend(channel: jobChannel, color: '#FF0000', message: message)
}
}
}
}