jekins 和 expcet 脚本自动构建项目

jenkins 是已经搭建好的,本次主要是后面脚本的事情

公司项目需要部署多台服务器 避免每次打包上传,想弄个自动构建。

步骤如下:


1 jenkins构建完之后会可以执行本机脚本

2 安装expcet

3 写脚本:

#!/usr/bin/expect -f
set password test
set ipOne 10.2.0.1
set userName test
spawn scp /root/.jenkins/workspace/test/product/test.war $userName@$ipOne:/home/work/test.war
set timeout 3
expect {
"yes/no" {send "yes\r";exp_continue}
}
expect "$userName@$ipOne's password:"
set timeout 3
send "$password\r"
set timeout 300
send "exit\r"
expect eof


#ssh
spawn ssh $userName@$ipOne /home/test/t.sh
expect "$userName@$ipOne's password:"
set timeout 3
send "$password\r"
set timeout 300
send "exit\r"
expect eof

这个脚本是在jenkins 构建完之后执行的。
原理是 用expcet 将war上传到 服务器,然后在执行服务器的 shell脚本,这个shell 主要解压 重启tomcat 就行。


碰到的问题
1 第一次写shell脚本,不知道shell 要求那么严格 看了下面的博客才知道写好的
http://blog.chinaunix.net/uid-7589639-id-3018105.html
感谢他

执行 [color=red][color=darkred]t.sh[/color][/color] 重启tomcat的时候, 碰到自动重启失败问题, 发现原来是 系统装了低版本的jdk,手动重启会指定 java_home 路径所以没问题。

tomcat 关闭 是通过 catalina.sh stop -force , 有个功能是五秒未关闭 kill掉 不需要写shell去kill,具体可以查阅blog: https://my.oschina.net/abcfy2/blog/192203

新建一个$CATALINA_HOME/bin/setenv.sh文件 并授权 x 即可,


#!/bin/bash
CATALINA_PID=$CATALINA_HOME/bin/CATALINA_PID
JAVA_OPTS="--server -Xmx1280m -XX:+UseConcMarkSweepGC"
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/



后记:
其实 用jenkins的插件 publish Over SSH 可以解决上述问题
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值