Skip to content

Commit 5b3e3da

Browse files
committed
jenkins now store artifacts
1 parent 6a9c145 commit 5b3e3da

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

debian/Jenkinsfile

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,61 +22,62 @@ node() {
2222
distributions.each {
2323
distribution = it
2424

25-
println 'Dist:' + distribution
25+
println "Dist:" + distribution
2626

2727
def dist = distribution.split(':')
28-
// distroFamily = dist[0]
2928
distroCodename = dist[1]
3029

3130
def buildImage = ''
3231

32+
def artifacts = []
33+
3334
node {
3435
ansiColor('xterm') {
3536
stage('Checkout ' + distribution) {
37+
checkout scm
3638
buildImage = docker.image(vendor + '/' + distribution)
3739
sh 'git checkout debian/changelog'
38-
def versionOriginal = sh (
40+
def version = sh (
3941
script: 'dpkg-parsechangelog --show-field Version',
4042
returnStdout: true
4143
).trim()
42-
ver = versionOriginal + '.' + env.BUILD_NUMBER + '~' + distroCodename
43-
println 'Computed version: ' + ver
44+
ver = version + '.' + env.BUILD_NUMBER + '~' + distroCodename
4445
}
4546
stage('Build ' + distribution) {
4647
buildImage.inside {
4748
sh 'dch -b -v ' + ver + ' "' + env.BUILD_TAG + '"'
4849
sh 'sudo apt-get update --allow-releaseinfo-change'
4950
sh 'sudo chown jenkins:jenkins ..'
50-
sh 'sudo apt install -y php-mbstring'
5151
sh 'debuild-pbuilder -i -us -uc -b'
52-
sh '''
53-
mkdir -p $WORKSPACE/dist/debian/
54-
rm -rf $WORKSPACE/dist/debian/*
55-
for deb in $(cat debian/files | awk '{print $1}'); do
56-
mv "../$deb" $WORKSPACE/dist/debian/
57-
done
58-
'''
52+
sh 'mkdir -p $WORKSPACE/dist/debian/ ; rm -rf $WORKSPACE/dist/debian/* ; for deb in $(cat debian/files | awk \'{print $1}\'); do mv "../$deb" $WORKSPACE/dist/debian/; done'
53+
artifacts = sh (
54+
script: "cat debian/files | awk '{print \$1}'",
55+
returnStdout: true
56+
).trim().split('\n')
5957
}
6058
}
6159

6260
stage('Test ' + distribution) {
6361
buildImage.inside {
64-
def debconfDebug = 0 //Set to "5" or "developer" to debug debconf
65-
sh '''
66-
cd $WORKSPACE/dist/debian/
67-
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
68-
cd $WORKSPACE
69-
'''
70-
sh 'echo "deb [trusted=yes] file://///$WORKSPACE/dist/debian/ ./" ' +
71-
'| sudo tee /etc/apt/sources.list.d/local.list'
62+
def debconf_debug = 0 //Set to "5" or "developer" to debug debconf
63+
sh 'cd $WORKSPACE/dist/debian/ ; dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz; cd $WORKSPACE'
64+
sh 'echo "deb [trusted=yes] file://///$WORKSPACE/dist/debian/ ./" | sudo tee /etc/apt/sources.list.d/local.list'
7265
sh 'sudo apt-get update --allow-releaseinfo-change'
7366
sh 'echo "INSTALATION"'
74-
sh 'IFS="\n\b"; for package in `ls $WORKSPACE/dist/debian/ | grep .deb | awk -F_ \'{print \$1}\'` ; do echo -e "${GREEN} installing ${package} on `lsb_release -sc` ${ENDCOLOR} " ; sudo DEBIAN_FRONTEND=noninteractive DEBCONF_DEBUG=' + debconfDebug + ' apt-get -y install $package ; done;'
75-
stash includes: 'dist/**', name: 'dist-' + distroCodename
67+
artifacts.each { deb_file ->
68+
if (deb_file.endsWith('.deb')) {
69+
sh 'echo -e "${GREEN} installing ' + deb_file + ' on `lsb_release -sc` ${ENDCOLOR} "'
70+
sh 'sudo DEBIAN_FRONTEND=noninteractive DEBCONF_DEBUG=' + debconf_debug + ' apt-get -y install $WORKSPACE/dist/debian/' + deb_file
71+
}
72+
}
7673
}
7774
}
7875
stage('Copy artifacts ' + distribution ) {
7976
buildImage.inside {
77+
artifacts.each { deb_file ->
78+
println "Copying artifact: " + deb_file
79+
archiveArtifacts artifacts: 'dist/debian/' + deb_file
80+
}
8081
sh 'mv $WORKSPACE/dist/debian/*.deb $WORKSPACE'
8182
}
8283
}

0 commit comments

Comments
 (0)