SSH 带密码参数登陆远程机器结合jenkins构建实现远程热部署
2016-07-05 00:00
597 查看
摘要: sshpass让ssh支持password参数,SSH 带密码参数登陆远程机器结合jenkins构建实现远程热部署
工作中遇到jenkins构建项目之后结合maven部署插件远程部署到tomcat,tomcat没有重启,造成代码没有生效,需要手动进行重启,一是太麻烦了,二是效率太低,本人就想jenkins能不能调用shell脚本来帮我实现重启tomcat,实现自动重启。结果是可以的,以下是我的操作
从网站上下载代码,http://sourceforge.net/projects/sshpass/ 下载sshpass 并安装
我们放在把这个shell脚本放在和jenkins 在一台机器上 /root 目录下
#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.6
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
echo "======begin stop the tomcat======"
ps -ef | grep tomcat_vip2/ | grep -v grep | awk '{print $2}' | sed -e "s/^/kill -9 /g" | sh -
echo "======begin delete /usr/apps/vip2/ROOT======"
rm -rf /usr/apps/vip2/ROOT
echo "======begin starting the tomcat======"
/usr/local/tomcat_vip2/bin/startup.sh
echo "======end start the tomcat successed======"
之后我在jenkins的job配置如下:
Command : sshpass -p pasword ssh root@IP 'bash -x -s' < /root/restart_tomcat.sh
保存即可,构建如下:
至此成功结束。
工作中遇到jenkins构建项目之后结合maven部署插件远程部署到tomcat,tomcat没有重启,造成代码没有生效,需要手动进行重启,一是太麻烦了,二是效率太低,本人就想jenkins能不能调用shell脚本来帮我实现重启tomcat,实现自动重启。结果是可以的,以下是我的操作
从网站上下载代码,http://sourceforge.net/projects/sshpass/ 下载sshpass 并安装
tar
-zxvf sshpass-1.05.
tar
.gz
cd
sshpass-1.05
.
/configure
make
&&
make
install
之后我们就准备一个shell脚本 restart_tomcat.sh
我们放在把这个shell脚本放在和jenkins 在一台机器上 /root 目录下
#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.6
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
echo "======begin stop the tomcat======"
ps -ef | grep tomcat_vip2/ | grep -v grep | awk '{print $2}' | sed -e "s/^/kill -9 /g" | sh -
echo "======begin delete /usr/apps/vip2/ROOT======"
rm -rf /usr/apps/vip2/ROOT
echo "======begin starting the tomcat======"
/usr/local/tomcat_vip2/bin/startup.sh
echo "======end start the tomcat successed======"
之后我在jenkins的job配置如下:
Command : sshpass -p pasword ssh root@IP 'bash -x -s' < /root/restart_tomcat.sh
保存即可,构建如下:
至此成功结束。
相关文章推荐
- SpringBoot + Thymeleaf实现邮件发送功能
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多
- java异常处理练习(1)
- kubernetes之flannel网卡无法启动
- 修改 TeamViewer ID 的方法
- JavaScript的Number()问题
- 响应式网页设计:互联网web产品RWD概念
- web产品浏览器兼容性问题你有考虑到吗?
- Stack Overflow大揭密:哪一种程序员工资最高?
- 开源网校系统如何搭建
- 从网校系统谈慕课
- 如何鉴别虚拟主机好坏
- yii2 ActiveRecord多表关联以及多表关联搜索的实现
- 庆祝润达软件成立8周年
- 运维社区 unixhot
- multi-tenant solution(多租户方案)说明
- Linux 必掌握的 SQL 命令
- ORB:新一代 Linux 应用
- Spring MVC 之基本配置
- LinearLayout安卓 线性布局详解