forked from SoftwareAG/webmethods-sample-project-layout
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile.artifactoryDownload.unix
72 lines (69 loc) · 2.12 KB
/
Jenkinsfile.artifactoryDownload.unix
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
pipeline {
agent any
environment {
// currentDir can be set to specific dir for non github testing
currentDir = "."
artifactoryServerName = "localArtifactory"
artifactoryFileSpecName = "${env.JOB_NAME}.${env.BUILD_NUMBER}.filespec.json"
artifactoryUploadFileSpecName = "upload.${artifactoryFileSpecName}"
artifactoryDownloadFileSpecName = "download.${artifactoryFileSpecName}"
fbrType = "artifactory"
ANT_HOME="${env.SAG_HOME}/common/AssetBuildEnvironment/ant"
cmd = "${ANT_HOME}/bin/ant -f ${currentDir}/build.xml -DSAGHome=${env.SAG_HOME} -DSAG_CI_HOME=${env.SAG_CI_HOME} -Dbda.projectName=${env.JOB_NAME} -Dconfig.build.fbr.type=${fbrType}"
}
stages {
stage('Build'){
steps {
echo "Build stage"
sh "${cmd} build"
}
}
stage('DeployToTest') {
steps {
echo "Deploy stage"
sh "${cmd} deploy"
echo "Executing tests"
sh "${cmd} test"
junit 'report/'
}
}
stage('Publish') {
steps {
echo "Publish stage"
sh "${cmd} -Dbda.artifactoryFileSpecName=${artifactoryUploadFileSpecName} prepareArtifactoryUploadSpec"
script {
def server = Artifactory.server "${artifactoryServerName}"
def uploadSpec = readFile "${artifactoryUploadFileSpecName}"
def buildInfo = Artifactory.newBuildInfo()
buildInfo.env.capture = true
buildInfo.env.collect()
// Upload to Artifactory.
server.upload spec: uploadSpec, buildInfo: buildInfo
server.publishBuildInfo buildInfo
}
}
}
stage('Download') {
steps {
echo "Download stage"
sh "${cmd} -Dbda.artifactoryFileSpecName=${artifactoryDownloadFileSpecName} prepareArtifactoryDownloadSpec"
script {
def server = Artifactory.server "${artifactoryServerName}"
def downloadSpec = readFile "${artifactoryDownloadFileSpecName}"
def buildInfo = Artifactory.newBuildInfo()
buildInfo.env.capture = true
buildInfo.env.collect()
// download from Artifactory.
server.download spec: downloadSpec, buildInfo: buildInfo
server.publishBuildInfo buildInfo
}
}
}
stage('QA') {
steps {
echo "QA stage"
sh "${cmd} deploy"
}
}
}
}