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=darkred]t.sh[/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 可以解决上述问题
分享到:
相关推荐
使用Jenkins进行Unity自动构建的环境搭建笔记
Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码...
CentOS7下svn tomcat9.0 maven3.3 jenkins实现web项目自动构建与远程发布.pdf
jenkins自动打包vue前后端分离项目,部署到远程服务器
Python Django开发通过jenkinsfile管理构建pipeline脚本
1、jenkins 启动关闭命令脚本 service jenkins stop service jenkins start
CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布
jenkins自动化脚本,启停服务,现已在生产中应用,喜欢的拿去~!
jenkins的自动化构建,包括jenkins权限配置,任务创建,gogs代码变化jenkins自动构建
本方案主要是结合Jenkins+nginx+qrencode实现安卓源码自动构建的方法, 完美解决第三方平台蒲公英免费版限制生成的二维码限制10次下载的限制,而且资源保存在自己的服务器上也是最安全的,分享nginx+jenkins shell...
使用Jenkins搭建自动构建平台,自动打包AndroidStudio工程,使用Gradle构建。代码来源git
基于Jenkins的PHP自动构建
该脚本是用于Jenkins自动部署配置条件下的pipeline脚本,可以通过在Jenkins中配置pipeline模式的部署配置,添加上该脚本,便能方便的进行自动部署操作。里面包含部署效果图。
jenkins 开机启动脚本 2.0
包含有Jenkins构建的前端以及后端的执行脚本,方便使用,利于自动集成。
自动化部署为更好配合项目进行平台版本迭代和更新,使软件能够持续集成,提高运维部署效率,故搭建jenkins自动化部署平台,满足项目自动化部署需求。
NULL 博文链接:https://jiuyuehe.iteye.com/blog/1843103
gitlab+jenkins+docker自动化部署脚本,采用shell与python开发,其中python部分均为封装成型的逻辑,只接受shell传参就能完成项目构建
Jenkins自动化构建部署说明文档,方便程序员的实现热部署。
Jenkins配置定时构建任务,构建完成后自动部署,构建和部署结束后发送钉钉通知