X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=docker%2Fui%2Fdeploy.sh;h=8c9a231d4dfc20409afde93917497d00d659bdb9;hb=89c3f94d528edde641b268e4e67a0c6a170a5b2e;hp=6b77dd9cf0704955f19d9e95a3568535aca76b2a;hpb=34585c7411632c339ac147898e02f3ada118eb51;p=validation.git diff --git a/docker/ui/deploy.sh b/docker/ui/deploy.sh index 6b77dd9..8c9a231 100755 --- a/docker/ui/deploy.sh +++ b/docker/ui/deploy.sh @@ -14,6 +14,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +set -ex + # Container name CONTAINER_NAME="akraino-validation-ui" # Image data @@ -22,73 +24,60 @@ NAME=validation TAG_PRE=ui TAG_VER=latest # Container input parameters -MARIADB_ROOT_PASSWORD="" -JENKINS_URL="" -JENKINS_USERNAME="" -JENKINS_USER_PASSWORD="" -JENKINS_JOB_NAME="" -DB_CONNECTION_URL="" +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" -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_PRE) TAG_PRE=${VALUE} ;; - TAG_VER) TAG_VER=${VALUE} ;; - MARIADB_ROOT_PASSWORD) MARIADB_ROOT_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_CONNECTION_URL) DB_CONNECTION_URL=${VALUE} ;; - CONTAINER_NAME) CONTAINER_NAME=${VALUE} ;; - NEXUS_PROXY) NEXUS_PROXY=${VALUE} ;; - JENKINS_PROXY) JENKINS_PROXY=${VALUE} ;; - *) - esac +while [ $# -gt 0 ]; do + if [[ $1 == *"--"* ]]; then + v="${1/--/}" + declare $v="$2" + fi + shift done -if [ -z "$DB_CONNECTION_URL" ] +if [ -z "$DB_IP_PORT" ] then - echo "ERROR: You must specify the database connection url" + echo "ERROR: You must specify the database IP and port" exit 1 fi -if [ -z "$MARIADB_ROOT_PASSWORD" ] +if [ -z "$MYSQL_PASSWORD" ] then - echo "ERROR: You must specify the mariadb root user password" + echo "ERROR: You must specify the mysql user password" exit 1 fi -if [ -z "$JENKINS_URL" ] +if [ -z "$ENCRYPTION_KEY" ] then - echo "ERROR: You must specify the Jenkins Url" + echo "ERROR: You must specify the encryption key" exit 1 fi -if [ -z "$JENKINS_USERNAME" ] +if [ -z "$UI_ADMIN_PASSWORD" ] then - echo "ERROR: You must specify the Jenkins username" + echo "ERROR: You must specify the UI admin password" exit 1 fi -if [ -z "$JENKINS_USER_PASSWORD" ] - then - echo "ERROR: You must specify the Jenkins user password" - exit 1 -fi +echo "Note: If there is a password already stored in database, the supplied UI_ADMIN_PASSWORD will be ignored." -if [ -z "$JENKINS_JOB_NAME" ] +IMAGE="$REGISTRY"/"$NAME":"$TAG_PRE"-"$TAG_VER" +if [[ $USE_NETWORK_HOST = "true" ]] then - echo "ERROR: You must specify the Jenkins job name" - exit 1 + docker run --detach --name $CONTAINER_NAME --network="host" -v "$CERTDIR/bluval.key:/usr/local/tomcat/bluval.key" -v "$CERTDIR/bluval.crt:/usr/local/tomcat/bluval.crt" -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 "$CERTDIR/bluval.key:/usr/local/tomcat/bluval.key" -v "$CERTDIR/bluval.crt:/usr/local/tomcat/bluval.crt" -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"-"$TAG_VER" -docker run --name $CONTAINER_NAME --network="host" -it --rm -e DB_CONNECTION_URL="$DB_CONNECTION_URL" -e MARIADB_ROOT_PASSWORD="$MARIADB_ROOT_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" $IMAGE sleep 10