-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathJenkinsfile
76 lines (72 loc) · 2.05 KB
/
Jenkinsfile
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
pipeline {
agent {
label 'windows'
}
options {
skipDefaultCheckout(true)
}
environment {
NUGET_APIKEY = credentials('nuget-api-key')
}
stages {
stage('Checkout') {
steps {
deleteDir()
checkout scm
}
}
stage('Compile and Test') {
steps {
powershell './build.ps1 Test -build-number $env:BUILD_NUMBER -branch-name $env:BRANCH_NAME'
}
}
stage('Build') {
steps {
powershell './build.ps1 Build -build-number $env:BUILD_NUMBER -branch-name $env:BRANCH_NAME --skip'
}
}
stage('Package') {
steps {
powershell './build.ps1 Pack -build-number $env:BUILD_NUMBER -branch-name $env:BRANCH_NAME --skip'
}
}
stage('Publish') {
steps {
powershell './build.ps1 Publish -nugetapikey $env:NUGET_APIKEY -build-number $env:BUILD_NUMBER -branch-name $env:BRANCH_NAME --skip'
}
}
stage('Archive Artifacts') {
steps {
archiveArtifacts artifacts: 'artifacts/**'
}
}
}
post {
always {
nunit testResultsPattern: 'artifacts/**/*.xml'
}
failure {
script {
mail (
to: '[email protected]',
subject: "b.vt: FAILED BUILD - AgateLib ${env.BRANCH_NAME} ${env.BUILD_NUMBER}",
body: "AgateLib branch ${env.BRANCH_NAME} failed to build."
)
}
}
fixed {
script {
mail (
to: '[email protected]',
subject: "b.vt: FIXED BUILD - AgateLib ${env.BRANCH_NAME} ${env.BUILD_NUMBER}",
body: "AgateLib branch ${env.BRANCH_NAME} is fixed now."
)
}
}
success {
script {
cleanWs()
}
}
}
}