-
Notifications
You must be signed in to change notification settings - Fork 121
/
Copy pathdeploy.sh
executable file
·101 lines (79 loc) · 1.41 KB
/
deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/bash
# 参数说明
# $1 jarName 默认 ifast-1.0.0.jar
# $2 branch 默认 dev
# $3 appDir 默认 /home/server/webapps/ifast
# $4 profile 激活的配置文件,默认dev
#
# step 1.
#
# $1
# jar名称默认
jarName=$1
if [ -z "${jarName}" ]
then
jarName=ifast-1.0.0.jar
fi
echo "jarName: ${jarName}"
# $2
# 将指定分支最新代码部署到指定目录。默认dev
# 如果目录不存在会自动创建。
branch=$2
if [ -z "${branch}" ]
then
branch=dev
fi
echo "branch: ${branch}"
# $3
appDir=$3
if [ -z "${appDir}" ]
then
appDir=/home/server/webapps/ifast
fi
if [ ! -d ${appDir} ]
then
echo "目录 ${appDir} 不存在,尝试创建 ..."
mkdir -p ${appDir}
fi
echo "appDir: ${appDir}"
# $4
profile=$4
if [ -z "${profile}" ]
then
profile=dev
fi
echo "profile: ${profile}"
#
# step 2.
#
srcDir=`pwd`
git pull origin ${branch}
mvn install
#
# step 3. shutdown > delete | backup
#
cd ${appDir}
echo "shutdown ..."
if [ -d "bin" ]
then
cd bin
./shutdown.sh ${jarName}
ps -ef | grep ${jarName}
cd ..
fi
echo "del ${appDir}/${jarName}"
rm -f ${jarName}
echo "del ${appDir}/bin"
rm -rf bin
# move | copy > chmod
echo "move ${srcDir}/target/${jarName} to ${appDir}"
mv ${srcDir}/target/${jarName} ${appDir}
echo "copy dir ${srcDir}/bin to `pwd`"
cp -R ${srcDir}/bin .
chmod u+x ${appDir}/bin/*
#
# step 4. start
#
echo "startup ..."
cd bin
./startup.sh ${jarName} ${profile}