X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=docker%2Fui%2Fdeploy.sh;h=8e782c65add551171f893c607f78fc9a4b5e1776;hb=0a46c82e91de6d98c02bd67f70f024bd95751a64;hp=fef0bedd1386824c3bec01a7fd1de4d56cf3e442;hpb=258e9371b09efc06f8e82fe73d92a96cbecd98a5;p=validation.git diff --git a/docker/ui/deploy.sh b/docker/ui/deploy.sh index fef0bed..8e782c6 100755 --- a/docker/ui/deploy.sh +++ b/docker/ui/deploy.sh @@ -14,26 +14,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -CONTAINER_NAME="validation-ui" +set -ex + +# Container name +CONTAINER_NAME="akraino-validation-ui" +# Image data REGISTRY=akraino NAME=validation -TAG_PRE=`echo "${PWD##*/}"` +TAG_PRE=ui TAG_VER=latest -HOST_ARCH=amd64 -postgres_db_user_pwd="" -jenkins_url="" -jenkins_user_name="" -jenkins_user_pwd="" -jenkins_job_name="" -nexus_results_url="" -proxy_ip="" -proxy_port="" - -# get the architecture of the host -if [ "`uname -m`" = "aarch64" ] - then - HOST_ARCH=arm64 -fi +# Container input parameters +MYSQL_AKRAINO_PASSWORD="" +JENKINS_URL="https://jenkins.akraino.org/" +JENKINS_USERNAME="demo" +JENKINS_USER_PASSWORD="demo" +JENKINS_JOB_NAME="validation" +DB_IP_PORT="" +NEXUS_PROXY="" +JENKINS_PROXY="" +CERTDIR=$(pwd) +ENCRYPTION_KEY="" +UI_ADMIN_PASSWORD="" for ARGUMENT in "$@" do @@ -42,55 +43,50 @@ do case "$KEY" in REGISTRY) REGISTRY=${VALUE} ;; NAME) NAME=${VALUE} ;; + TAG_PRE) TAG_PRE=${VALUE} ;; TAG_VER) TAG_VER=${VALUE} ;; - postgres_db_user_pwd) postgres_db_user_pwd=${VALUE} ;; - jenkins_url) jenkins_url=${VALUE} ;; - jenkins_user_name) jenkins_user_name=${VALUE} ;; - jenkins_user_pwd) jenkins_user_pwd=${VALUE} ;; - jenkins_job_name) jenkins_job_name=${VALUE} ;; - nexus_results_url) nexus_results_url=${VALUE} ;; - proxy_ip) proxy_ip=${VALUE} ;; - proxy_port) proxy_port=${VALUE} ;; + MYSQL_AKRAINO_PASSWORD) MYSQL_AKRAINO_PASSWORD=${VALUE} ;; + JENKINS_URL) JENKINS_URL=${VALUE} ;; + JENKINS_USERNAME) JENKINS_USERNAME=${VALUE} ;; + JENKINS_USER_PASSWORD) JENKINS_USER_PASSWORD=${VALUE} ;; + JENKINS_JOB_NAME) JENKINS_JOB_NAME=${VALUE} ;; + DB_IP_PORT) DB_IP_PORT=${VALUE} ;; + CONTAINER_NAME) CONTAINER_NAME=${VALUE} ;; + NEXUS_PROXY) NEXUS_PROXY=${VALUE} ;; + JENKINS_PROXY) JENKINS_PROXY=${VALUE} ;; + CERTDIR) CERTDIR=${VALUE} ;; + ENCRYPTION_KEY) ENCRYPTION_KEY=${VALUE} ;; + UI_ADMIN_PASSWORD) UI_ADMIN_PASSWORD=${VALUE} ;; *) esac done -if [ -z "$postgres_db_user_pwd" ] +if [ -z "$DB_IP_PORT" ] then - echo "ERROR: You must specify the postgresql root user password" + echo "ERROR: You must specify the database IP and port" exit 1 fi -if [ -z "$jenkins_url" ] +if [ -z "$MYSQL_AKRAINO_PASSWORD" ] then - echo "ERROR: You must specify the Jenkins Url" + echo "ERROR: You must specify the mysql akraino user password" exit 1 fi -if [ -z "$jenkins_user_name" ] +if [ -z "$ENCRYPTION_KEY" ] then - echo "ERROR: You must specify the Jenkins username" + echo "ERROR: You must specify the encryption key" exit 1 fi -if [ -z "$jenkins_user_pwd" ] +if [ -z "$UI_ADMIN_PASSWORD" ] then - echo "ERROR: You must specify the Jenkins user password" + echo "ERROR: You must specify the UI admin password" exit 1 fi -if [ -z "$jenkins_job_name" ] - then - echo "ERROR: You must specify the Jenkins job name" - exit 1 -fi - -if [ -z "$nexus_results_url" ] - then - echo "ERROR: You must specify the Nexus Url" - exit 1 -fi +echo "Note: If there is a password already stored in database, the supplied UI_ADMIN_PASSWORD will be ignored." -IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$HOST_ARCH"-"$TAG_VER" -docker run --name $CONTAINER_NAME --network="host" -it --rm -e postgres_db_user_pwd="$postgres_db_user_pwd" -e jenkins_url="$jenkins_url" -e jenkins_user_name="$jenkins_user_name" -e jenkins_user_pwd="$jenkins_user_pwd" -e jenkins_job_name="$jenkins_job_name" -e nexus_results_url="$nexus_results_url" -e proxy_ip="$proxy_ip" -e proxy_port="$proxy_port" $IMAGE +IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER" +docker run --detach --name $CONTAINER_NAME --network="host" -v "$(pwd)/server.xml:/usr/local/tomcat/conf/server.xml" -v "$CERTDIR/bluval.key:/usr/local/tomcat/bluval.key" -v "$CERTDIR/bluval.crt:/usr/local/tomcat/bluval.crt" -v "$(pwd)/root_index.jsp:/usr/local/tomcat/webapps/ROOT/index.jsp" -e DB_IP_PORT="$DB_IP_PORT" -e MYSQL_AKRAINO_PASSWORD="$MYSQL_AKRAINO_PASSWORD" -e JENKINS_URL="$JENKINS_URL" -e JENKINS_USERNAME="$JENKINS_USERNAME" -e JENKINS_USER_PASSWORD="$JENKINS_USER_PASSWORD" -e JENKINS_JOB_NAME="$JENKINS_JOB_NAME" -e NEXUS_PROXY="$NEXUS_PROXY" -e JENKINS_PROXY="$JENKINS_PROXY" -e ENCRYPTION_KEY="$ENCRYPTION_KEY" -e UI_ADMIN_PASSWORD="$UI_ADMIN_PASSWORD" $IMAGE sleep 10