48 lines
1.1 KiB
Bash
48 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
function parentDir()
|
||
|
|
{
|
||
|
|
local this_dir=`pwd`
|
||
|
|
local child_dir="$1"
|
||
|
|
dirname "$child_dir"
|
||
|
|
cd $this_dir
|
||
|
|
}
|
||
|
|
|
||
|
|
CURRENT_PATH=$(cd `dirname $0`; pwd)
|
||
|
|
|
||
|
|
DOCKER_IMAGE_NAME='syria/java-api:latest'
|
||
|
|
|
||
|
|
DOCKER_CONTAINER_NAME='syria-java-api'
|
||
|
|
|
||
|
|
DOCKER_CONTAINER_PORT=40010
|
||
|
|
|
||
|
|
workSpace=`parentDir "$CURRENT_PATH"`
|
||
|
|
|
||
|
|
echo '更新代码'
|
||
|
|
git pull
|
||
|
|
|
||
|
|
echo '工作空间'$workSpace
|
||
|
|
cd $workSpace
|
||
|
|
|
||
|
|
echo '开始打包'
|
||
|
|
mvn clean install -Dmaven.test.skip=true -Pdev
|
||
|
|
|
||
|
|
echo '开始构建docker镜像'
|
||
|
|
docker build -t $DOCKER_IMAGE_NAME .
|
||
|
|
|
||
|
|
count=`docker ps -a|grep $DOCKER_CONTAINER_NAME|wc -l`
|
||
|
|
if [ $count != 0 ];then
|
||
|
|
echo "准备移除容器 $DOCKER_CONTAINER_NAME ..."
|
||
|
|
docker rm -f $DOCKER_CONTAINER_NAME
|
||
|
|
else
|
||
|
|
echo "准备启动容器 $DOCKER_CONTAINER_NAME ..."
|
||
|
|
fi
|
||
|
|
|
||
|
|
docker run -d --restart always --net=host --add-host redis:127.0.0.1 --name $DOCKER_CONTAINER_NAME -v /var/log:/var/log -v /data/medical-follow:/data -v /etc/syria.conf:/etc/java/application.conf -it $DOCKER_IMAGE_NAME
|
||
|
|
|
||
|
|
docker images|grep -v REPOSITORY|grep none|awk '{print $3}'|xargs docker rmi
|
||
|
|
|
||
|
|
exit 0
|