forked from fabric8io/fabric8-maven-plugin
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathJenkinsfile
97 lines (83 loc) · 2.87 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/usr/bin/groovy
/*
* Copyright 2016 Red Hat, Inc.
*
* Red Hat licenses this file to you under the Apache License, version
* 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
@Library('github.com/fabric8io/fabric8-pipeline-library@master')
def dummy
clientsTemplate{
mavenNode {
checkout scm
readTrusted 'release.groovy'
sh "git remote set-url origin [email protected]:fabric8io/fabric8-maven-plugin.git"
def pipeline = load 'release.groovy'
stage 'Stage'
def stagedProject = pipeline.stage()
stage 'Promote'
pipeline.release(stagedProject)
// Disabled for now as it probably doesn't work because of the different directory structure
// with a dedicated doc-module
//stage 'Website'
//pipeline.website(stagedProject)
stage 'Update downstream dependencies'
pipeline.updateDownstreamDependencies(stagedProject)
}
}
deployTemplate{
dockerNode {
stage 'Deploy and run system tests'
deployAndRunSystemTests()
}
}
def deployAndRunSystemTests() {
def fabric8Quickstarts
def fabric8Devops
def fabric8Forge
def yaml
stage 'build snapshot fabric8-devops'
ws('devops') {
git 'https://github.com/fabric8io/fabric8-devops.git'
def pipeline = load 'release.groovy'
fabric8Devops = mavenBuildSnapshot {
extraImagesToStage = pipeline.externalImages()
}
}
stage 'build snapshot quickstarts'
ws('quickstarts') {
git 'https://github.com/fabric8io/ipaas-quickstarts.git'
fabric8Quickstarts = mavenBuildSnapshot {}
}
stage 'build snapshot fabric8-forge'
ws('forge') {
git 'https://github.com/fabric8io/fabric8-forge.git'
fabric8Forge = mavenBuildSnapshot {
pomVersionToUpdate = ['fabric8.devops.version': fabric8Devops, 'fabric8.archetypes.release.version': fabric8Quickstarts]
}
}
stage 'build snapshot fabric8-platform'
ws('platform') {
git 'https://github.com/fabric8io/fabric8-platform.git'
mavenBuildSnapshot {
pomVersionToUpdate = ['fabric8.devops.version': fabric8Devops, 'fabric8.forge.version': fabric8Forge]
}
yaml = readFile file: "packages/fabric8-platform/target/classes/META-INF/fabric8/kubernetes.yml"
if (yaml == null) {
error 'no yaml found for fabric8 platform'
}
}
stage 'starting system tests'
fabric8SystemTests {
packageYAML = yaml
}
}