-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathJenkinsfile
More file actions
56 lines (44 loc) · 1.45 KB
/
Jenkinsfile
File metadata and controls
56 lines (44 loc) · 1.45 KB
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
#!/usr/bin/env groovy
def appName = "everything-as-code"
def project = ""
node {
stage('Pipeline-as-code') {
echo "The build pipeline for Everything-as-code."
echo "Build ${env.BUILD_TAG}"
}
stage("Initialize") {
project = env.PROJECT_NAME
}
stage('Checkout SCM') {
checkout scm
}
stage('Build/Analyse/Test') {
sh './gradlew clean build'
archiveUnitTestResults()
archiveDistributions()
stash name: "tar", includes: "build/libs/everything-as-code-1.2.3.tar"
}
stage('Generate Documentation') {
sh './gradlew asciidoctor'
}
// add additional stages to build docker image
// run integration and performance tests
// maybe add a stage to deploy the image to
// the infrastructure
/*
stage("Build Docker Image") {
unstash name: "tar"
sh "oc start-build everything-as-code-image --from-file=build/libs/everything-as-code-1.2.3.tar -n ${project}"
openshiftVerifyBuild bldCfg: "everything-as-code-image", namespace: project, waitTime: '20', waitUnit: 'min'
}
stage("Deploy to OpenShift") {
openshiftDeploy deploymentConfig: appName, namespace: project
}
*/
}
def archiveUnitTestResults() {
step([$class: "JUnitResultArchiver", testResults: "build/**/TEST-*.xml"])
}
def archiveDistributions() {
step([$class: 'ArtifactArchiver', artifacts: 'build/distributions/*.zip', fingerprint: true])
}