jenkins一键部署快照

在很久很久以前,就有人说到一键部署?什么?一键部署?什么鬼?听着好牛逼的样子,我也搞一搞,经过一段时间的折腾终于搞出来了,最后,我只想说,效率真高。

准备工作

安装插件

此教程的一键部署策略需要使用Jenkins的插件 —> Publish Over SSH
Alt text Alt text

Alt text

Alt text

找到以后直接安装即可

Publish Over SSH 插件的配置

Alt text Alt text

找到有关Publish Over SSH的配置
Alt text
细心的话我们会发现右下角有高级配置
Alt text
要想知道配置是否正确,点一下Test Configuration 按钮即可

搞定一大步,松一口气,ˊ>ˋ ˊ>ˋ ˊ>ˋ

创建Jenkins Item

Alt text

配置item选项

Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
我们首先看一下在jenkins服务器上此工程的路径及目标文件
Alt text
Alt text

以下是publish.sh 脚本的具体实现,此脚本可以停掉原先的tomcat服务,并且自动重启tomcat服务器,并且可以观察到启动日志

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
#!/bin/bash
#defined
TOMCAT_HOME="/data/tomcat"
TOMCAT_PORT=8080
PROJECT="$1"
#parm validate
if [ $# -lt 1 ]; then
echo "you must use like this : ./publish.sh <projectname> [tomcat port] [tomcat home dir]"
exit
fi
if [ "$2" != "" ]; then
TOMCAT_PORT=$2
fi
if [ "$3" != "" ]; then
TOMCAT_HOME="$3"
fi
#tomcat shutdown
sh $TOMCAT_HOME/bin/shutdown.sh
echo "tomcat shutdown"
tomcat_pid=`lsof -n -P -t -i :$TOMCAT_PORT`
echo "current tomcat_pid: " $tomcat_pid
dir=$(pwd)
echo "dir: " $dir
#public project
rm -rf /data/release/ROOT.war
rm -rf /data/release/ROOT
mv -f /data/release/$PROJECT*.war /data/release/ROOT.war
"$TOMCAT_HOME"/bin/startup.sh
echo "tomcat is starting "
logDir="/data/logs/faceCheck.log"
exec tail -fn 100 "$logDir"

要注意的问题

>1.源文件的路径问题,明白当前位置和目的文件的位置才可以更好的配置路径  
>2.注意shell脚本执行时你所在的文件路径在root的家目录,所以在写命令的时候注意加上绝对路径,或者进入目标文件夹下面再去执行命令

Only One Key

Alt text
Alt text
Alt text
Alt text

工具只是工具,思想才是灵魂
坚持原创技术分享,您的支持将鼓励我继续创作!

热评文章