You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by tb...@apache.org on 2019/12/05 12:27:46 UTC
[brooklyn] branch master updated: Add jenkinsfile for multibranch
job on Jenkins
This is an automated email from the ASF dual-hosted git repository.
tbouron pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn.git
The following commit(s) were added to refs/heads/master by this push:
new ae872cd Add jenkinsfile for multibranch job on Jenkins
new 4a83d86 Merge pull request #33 from tbouron/master
ae872cd is described below
commit ae872cda08b0a5ed5662597162cd17032df9b075
Author: Thomas Bouron <th...@cloudsoftcorp.com>
AuthorDate: Tue Dec 3 11:33:28 2019 +0000
Add jenkinsfile for multibranch job on Jenkins
---
Dockerfile | 11 ++++++++++-
Jenkinsfile | 23 +++++++++++++++++++----
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index d681655..0f8f2b5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -30,6 +30,8 @@ RUN apt-get update && apt-get install -y \
rpm \
dpkg \
libpng-dev \
+ libjpeg-progs \
+ pngquant \
make \
automake \
autoconf \
@@ -39,6 +41,13 @@ RUN apt-get update && apt-get install -y \
nasm \
gcc
-# For mvn-build
+# Make sure the /.config && /.npm (for UI module builds) is writable for all users
+RUN mkdir -p /.config && chmod -R 777 /.config
+RUN mkdir -p /.npm && chmod -R 777 /.npm
+
+# Make sure the /var/tmp (for RPM build) is writable for all users
+RUN mkdir -p /var/tmp/ && chmod -R 777 /var/tmp/
+
+# Make sure the /var/maven is writable for all users
RUN mkdir -p /var/maven/.m2/ && chmod -R 777 /var/maven/
ENV MAVEN_CONFIG=/var/maven/.m2
diff --git a/Jenkinsfile b/Jenkinsfile
index c41da46..4461e53 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -18,6 +18,21 @@
*/
node(label: 'ubuntu') {
+ def triggers = []
+ if (env.CHANGE_ID) {
+ triggers.push(issueCommentTrigger('.*test this please.*'))
+ }
+ if (env.BRANCH_NAME == 'master') {
+ triggers.push(upstream(
+ threshold: 'SUCCESS',
+ upstreamProjects: '../brooklyn-server/master, ../brooklyn-library/master, ../brooklyn-ui/master, ../brooklyn-client/master, ../brooklyn-dist/master'
+ ))
+ }
+
+ properties([
+ pipelineTriggers(triggers)
+ ])
+
catchError {
def environmentDockerImage
@@ -38,16 +53,16 @@ node(label: 'ubuntu') {
}
stage('Run tests') {
- environmentDockerImage.inside('-i --rm --name brooklyn-${DOCKER_TAG} --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly -v ${WORKSPACE}:/usr/build -w /usr/build') {
- sh 'mvn clean install -Duser.home=/var/maven -Duser.name=jenkins'
+ environmentDockerImage.inside('-i --name brooklyn-${DOCKER_TAG} -v ${WORKSPACE}/.m2:/var/maven/.m2 --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly -v ${WORKSPACE}:/usr/build -w /usr/build') {
+ sh 'mvn clean install -Prpm -Pdeb -Duser.home=/var/maven -Duser.name=jenkins'
}
}
// Conditional stage to deploy artifacts, when not building a PR
if (env.CHANGE_ID == null) {
stage('Deploy artifacts') {
- environmentDockerImage.inside('-i --rm --name brooklyn-${DOCKER_TAG} --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly -v ${WORKSPACE}:/usr/build -w /usr/build') {
- sh 'mvn deploy -DskipTests -Duser.home=/var/maven -Duser.name=jenkins'
+ environmentDockerImage.inside('-i --name brooklyn-${DOCKER_TAG} -v ${WORKSPACE}/.m2:/var/maven/.m2 --mount type=bind,source="${HOME}/.m2/settings.xml",target=/var/maven/.m2/settings.xml,readonly -v ${WORKSPACE}:/usr/build -w /usr/build') {
+ sh 'mvn deploy -Prpm -Pdeb -DskipTests -Duser.home=/var/maven -Duser.name=jenkins'
}
}
}