diff --git a/Dockerfile b/Dockerfile
index d681655..0f8f2b5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -30,6 +30,8 @@
     rpm \
     dpkg \
     libpng-dev \
+    libjpeg-progs \
+    pngquant \
     make \
     automake \
     autoconf \
@@ -39,6 +41,13 @@
     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 @@
             }
 
             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'
                     }
                 }
             }
