From 19fa6f7d48c664a8131fc3b2bb605f874032a791 Mon Sep 17 00:00:00 2001 From: Dan Hardiker Date: Thu, 28 Jul 2016 16:36:46 -0600 Subject: [PATCH] Supporting reverse proxies which terminate HTTPS and pass traffic to Bamboo over HTTP --- bamboo-server/Dockerfile | 4 ++++ bamboo-server/bamboo-server.sh | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/bamboo-server/Dockerfile b/bamboo-server/Dockerfile index 9584d09..4d91cf7 100644 --- a/bamboo-server/Dockerfile +++ b/bamboo-server/Dockerfile @@ -11,6 +11,7 @@ CMD ["/sbin/my_init"] # Environment ENV BAMBOO_VERSION 5.7.2 ENV BAMBOO_HOME /home/bamboo +ENV BAMBOO_SCHEME http # Expose web and agent ports EXPOSE 8085 @@ -22,6 +23,9 @@ ADD bamboo-server.sh /etc/service/bamboo-server/run # Make sure we get latet packages RUN apt-get update && apt-get upgrade -y # 28.01.2015 +# Install xmlstarlet +RUN apt-get install -yq xmlstarlet + # Install Java OpenJDK 7 and VCS tools RUN apt-get install -yq python-software-properties && add-apt-repository ppa:webupd8team/java -y && apt-get update RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections diff --git a/bamboo-server/bamboo-server.sh b/bamboo-server/bamboo-server.sh index 53bd6f8..37ac840 100755 --- a/bamboo-server/bamboo-server.sh +++ b/bamboo-server/bamboo-server.sh @@ -5,6 +5,7 @@ set -e # Exit on errors echo "-> Starting Bamboo Agent ..." echo " - BAMBOO_VERSION: $BAMBOO_VERSION" echo " - BAMBOO_HOME: $BAMBOO_HOME" +echo " - BAMBOO_SCHEME: $BAMBOO_SCHEME" mkdir -p $BAMBOO_HOME @@ -19,6 +20,22 @@ else echo "-> Extracting to $BAMBOO_DIR ..." tar xzf /tmp/atlassian-bamboo.tar.gz -C /opt rm -f /tmp/atlassian-bamboo.tar.gz + echo "-> Setting the HTTP/S settings in the server.xml" + SERVER_XML=$BAMBOO_DIR/conf/server.xml + xmlstarlet ed --pf --delete "//Connector[@port=8085]/@secure" $SERVER_XML > $SERVER_XML.tmp + xmlstarlet ed --pf --delete "//Connector[@port=8085]/@scheme" $SERVER_XML.tmp > $SERVER_XML + xmlstarlet ed --pf --delete "//Connector[@port=8085]/@proxyPort" $SERVER_XML > $SERVER_XML.tmp + xmlstarlet ed --pf --delete "//Connector[@port=8085]/@redirectPort" $SERVER_XML.tmp > $SERVER_XML + if [ $BAMBOO_SCHEME == "https" ]; then + xmlstarlet ed --pf --insert "//Connector[@port=8085]" -t attr -n secure -v true $SERVER_XML > $SERVER_XML.tmp + xmlstarlet ed --pf --insert "//Connector[@port=8085]" -t attr -n scheme -v https $SERVER_XML.tmp > $SERVER_XML + xmlstarlet ed --pf --insert "//Connector[@port=8085]" -t attr -n proxyPort -v 443 $SERVER_XML > $SERVER_XML.tmp + xmlstarlet ed --pf --insert "//Connector[@port=8085]" -t attr -n redirectPort -v 443 $SERVER_XML.tmp > $SERVER_XML + else + xmlstarlet ed --pf --insert "//Connector[@port=8085]" -t attr -n secure -v false $SERVER_XML > $SERVER_XML.tmp + xmlstarlet ed --pf --insert "//Connector[@port=8085]" -t attr -n scheme -v http $SERVER_XML.tmp > $SERVER_XML + fi + rm $SERVER_XML.tmp echo "-> Installation completed" fi