X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=docker%2Fui%2Fdeploy.sh;h=6a0d58f9e6fb434eba326d2412f3a96bab649f38;hb=148dfe2fad4ce4907e15a9d9c923e324a9d4d8d7;hp=fef0bedd1386824c3bec01a7fd1de4d56cf3e442;hpb=b21eff6b17f5aa5208510bf92e600744e270cd65;p=validation.git diff --git a/docker/ui/deploy.sh b/docker/ui/deploy.sh index fef0bed..6a0d58f 100755 --- a/docker/ui/deploy.sh +++ b/docker/ui/deploy.sh @@ -14,83 +14,70 @@ # 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="" +# Container input parameters +MYSQL_USER="akraino" +MYSQL_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="" +TRUST_ALL="false" +USE_NETWORK_HOST="false" -# get the architecture of the host -if [ "`uname -m`" = "aarch64" ] - then - HOST_ARCH=arm64 -fi - -for ARGUMENT in "$@" -do - KEY=$(echo $ARGUMENT | cut -f1 -d=) - VALUE=$(echo $ARGUMENT | cut -f2 -d=) - case "$KEY" in - REGISTRY) REGISTRY=${VALUE} ;; - NAME) NAME=${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} ;; - *) - esac +while [ $# -gt 0 ]; do + if [[ $1 == *"--"* ]]; then + v="${1/--/}" + declare $v="$2" + fi + shift 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_PASSWORD" ] then - echo "ERROR: You must specify the Jenkins Url" + echo "ERROR: You must specify the mysql 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 +echo "Note: If there is a password already stored in database, the supplied UI_ADMIN_PASSWORD will be ignored." -if [ -z "$nexus_results_url" ] +IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER" +if [[ $USE_NETWORK_HOST = "true" ]] then - echo "ERROR: You must specify the Nexus Url" - exit 1 + 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_USER="$MYSQL_USER" -e MYSQL_PASSWORD="$MYSQL_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" -e TRUST_ALL="$TRUST_ALL" $IMAGE + else + docker run --detach --name $CONTAINER_NAME -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_USER="$MYSQL_USER" -e MYSQL_PASSWORD="$MYSQL_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" -e TRUST_ALL="$TRUST_ALL" $IMAGE fi - -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 sleep 10