publish over ssh 实现 Jenkins 远程部署 / jenkins 远程执行shell 一键远程发布 tomcat / jenkins分别发布多个项目到多个远程主机
2017-09-06 14:15
866 查看
[b]1. 以下是本地Jenkins生成war包直接发布本机。参照了(jenkins 远程执行shell 一键远程发布 tomcat)[/b]
BUILD_ID=DONTKILLME
(加这个原因是因为没加之前用command startup tomcat一直启动失败而shutdown却是成功的 原因是因为jenkins启动后的进程会被kill掉所以要加这句,才能启动成功)
同事给的一段话:关闭tomcat
"kill -9 `ps -ef|grep " + appRelationship.getPath() + "/conf/logging.properties"+ "|awk '{print $2}'`"
=======================================================================================================================
2[b]. 以下是本地Jenkins生成war包直接发布到远程主机。[b]参照了(jenkins分别发布多个项目到多个远程主机)[/b][/b]
[b][b] 2.1系统配置Publish over SSH
[/b][/b]
[b]
[/b]
[b] 2.2以下是项目的构建后操作
[/b]
[b]
[/b]
======================================================================================
以下是网上参照的博客文章:
publish over ssh 实现 Jenkins 远程部署
([b]http://blog.csdn.net/flyingshuai/article/details/72898665)
[/b]
Jenkins远程部署,一开始没有任何头绪,想了很多方案. 因为两台机器都是windows系统,所以想到publish over cifs, 但是这个网上资料太少,貌似只能内网使用。又想到了Jenkins 分布式构建,但是Jenkins构建的代码和产物最后自动拷贝到主节点。而远程机器其实是客户方的机器,所以这个分布式构建并不适用。最后还是选定publish over ssh来实现远程部署。
请注意:在进行远程部署操作前,先要确保客户机能ssh 登录到远程机器。如果不知道SSH怎么登陆,请参考http://blog.csdn.net/flyingshuai/article/details/72897692
1. 安装publish over ssh 插件,安装很简单,在此不表。
2. 在Jenkins系统设置里找到Publish over SSH模块
3. 用户名/密码方式登录的,系统设置里设置如下:
(下面的这张图是我自己的配置)
4. 如果是证书登录的,系统设置里设置如下:
5. Job设置,点击增加构建后操作步骤,选择send build artifacts over ssh, 设置如下:
6. 文件上传到远程服务器后,还有一些后续操作,比如,替换数据库配置文件。可以把bat命令写到一个批处理文件中,存到服务器上。Exec command填写批处理文件的绝对路径。如上图所示。
关于bat脚本:
如果每次都需要替换同样的文件,用copy /y 是无条件覆盖,不会询问。而xcopy可以实现批量拷贝文件和文件夹。如果文件较多可用此命令
注意脚本运行失败,构建也会显示蓝色成功图标,所以一定要打开控制台输出,看是否真的成功。
===============================================================================
Exec command
#desc:在jenkins构建完成后,ROOT.war已经是最新的
#重启tomcat
bash /opt/apache-tomcat-7.0.63/bin/catalina.sh stop
#确保进程正常结束
sleep 2 #具体时间就看你得webapp在调用shutdown.sh后多久后处于僵死状态
ps -ef | grep ‘tomcat’ | grep -v grep| awk ‘{print $2}’ | xargs kill -9
#删除webapps下的weixin工程
rm -rf /opt/apache-tomcat-7.0.63/webapps/ROOT
#备份
#mv /opt/apache-tomcat-7.0.63/webapps/ROOT.war /opt/apache-tomcat-7.0.63/bak/ROOT.war.
#重启并打印日志
nohup bash /opt/apache-tomcat-7.0.63/bin/catalina.sh start & tailf /opt/apache-tomcat-7.0.63/logs/catalina.out
===================================================================================================================
/**
* lihaibo
* 文章内容都是根据自己工作情况实践得出。
* 版权声明:本博客欢迎转发,但请保留原作者信息 ! 本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您的赞助.
*/
一、配置远程主机
点击“系统管理”---“系统设置”----找到“Publish over SSH”组件
组件中有个SSH Servers模块
点击“增加”
点击增加后,
配置“高级”
------------------------------------------------------------------------------------------------------
二、配置需要部署的项目
请点击参考查看:jenkins(五)---jenkins添加项目
查看过程中最重要的一步是选择你要部署到远程主机的名字:如下图
BUILD_ID=DONTKILLME
(加这个原因是因为没加之前用command startup tomcat一直启动失败而shutdown却是成功的 原因是因为jenkins启动后的进程会被kill掉所以要加这句,才能启动成功)
同事给的一段话:关闭tomcat
"kill -9 `ps -ef|grep " + appRelationship.getPath() + "/conf/logging.properties"+ "|awk '{print $2}'`"
=======================================================================================================================
2[b]. 以下是本地Jenkins生成war包直接发布到远程主机。[b]参照了(jenkins分别发布多个项目到多个远程主机)[/b][/b]
[b][b] 2.1系统配置Publish over SSH
[/b][/b]
[b]
[/b]
[b] 2.2以下是项目的构建后操作
[/b]
[b]
[/b]
======================================================================================
以下是网上参照的博客文章:
publish over ssh 实现 Jenkins 远程部署
([b]http://blog.csdn.net/flyingshuai/article/details/72898665)
[/b]
Jenkins远程部署,一开始没有任何头绪,想了很多方案. 因为两台机器都是windows系统,所以想到publish over cifs, 但是这个网上资料太少,貌似只能内网使用。又想到了Jenkins 分布式构建,但是Jenkins构建的代码和产物最后自动拷贝到主节点。而远程机器其实是客户方的机器,所以这个分布式构建并不适用。最后还是选定publish over ssh来实现远程部署。
请注意:在进行远程部署操作前,先要确保客户机能ssh 登录到远程机器。如果不知道SSH怎么登陆,请参考http://blog.csdn.net/flyingshuai/article/details/72897692
1. 安装publish over ssh 插件,安装很简单,在此不表。
2. 在Jenkins系统设置里找到Publish over SSH模块
3. 用户名/密码方式登录的,系统设置里设置如下:
(下面的这张图是我自己的配置)
4. 如果是证书登录的,系统设置里设置如下:
5. Job设置,点击增加构建后操作步骤,选择send build artifacts over ssh, 设置如下:
6. 文件上传到远程服务器后,还有一些后续操作,比如,替换数据库配置文件。可以把bat命令写到一个批处理文件中,存到服务器上。Exec command填写批处理文件的绝对路径。如上图所示。
关于bat脚本:
如果每次都需要替换同样的文件,用copy /y 是无条件覆盖,不会询问。而xcopy可以实现批量拷贝文件和文件夹。如果文件较多可用此命令
注意脚本运行失败,构建也会显示蓝色成功图标,所以一定要打开控制台输出,看是否真的成功。
===============================================================================
jenkins 远程执行shell 一键部署
下载jenkins
https://jenkins.io/index.htmlPublish over SSH插件
在系统配置中创建
点高级可以保存密码
新建jobs
send build artifacts over ssh 插件
Exec command
export JAVA_HOME=/usr/local/jdk cd /opt/apache-tomcat-7.0.63/bin/ ./deploy.sh
deploy.sh
#author:sunlihuo#desc:在jenkins构建完成后,ROOT.war已经是最新的
#重启tomcat
bash /opt/apache-tomcat-7.0.63/bin/catalina.sh stop
#确保进程正常结束
sleep 2 #具体时间就看你得webapp在调用shutdown.sh后多久后处于僵死状态
ps -ef | grep ‘tomcat’ | grep -v grep| awk ‘{print $2}’ | xargs kill -9
#删除webapps下的weixin工程
rm -rf /opt/apache-tomcat-7.0.63/webapps/ROOT
#备份
#mv /opt/apache-tomcat-7.0.63/webapps/ROOT.war /opt/apache-tomcat-7.0.63/bak/ROOT.war.
date +%Y%m%d%H%M%S.bak
#重启并打印日志
nohup bash /opt/apache-tomcat-7.0.63/bin/catalina.sh start & tailf /opt/apache-tomcat-7.0.63/logs/catalina.out
===================================================================================================================
jenkins分别发布多个项目到多个远程主机
(http://www.cnblogs.com/horizonli/p/5336098.html)/**
* lihaibo
* 文章内容都是根据自己工作情况实践得出。
* 版权声明:本博客欢迎转发,但请保留原作者信息 ! 本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您的赞助.
*/
一、配置远程主机
点击“系统管理”---“系统设置”----找到“Publish over SSH”组件
组件中有个SSH Servers模块
点击“增加”
点击增加后,
配置“高级”
------------------------------------------------------------------------------------------------------
二、配置需要部署的项目
请点击参考查看:jenkins(五)---jenkins添加项目
查看过程中最重要的一步是选择你要部署到远程主机的名字:如下图
相关文章推荐
- Jenkins(Hudson)实现远程部署Web项目 Publish Over SSH Plugin插件
- Jenkins系列之五——通过Publish over SSH插件实现远程部署
- Jenkins远程部署-- publish over ssh 实现
- Jenkins Publish Over SSH插件实现远程发布
- jenkins中通过Publish Over SSH将项目部署到远程机器上
- publish over ssh 实现 Jenkins 远程部署
- Jenkins+SVN+Maven+Shell 实现项目一键发布
- Jenkins+SVN+Maven+Shell 实现项目一键发布
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- Jenkins+SVN+Maven+Shell 实现项目一键发布
- 使用Publish Over SSH插件实现远程自动部署
- 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系
- jenkins结合shell实现登录远程主机执行shell脚本
- Jenkins Publish Over SSH 远程自动发布
- jenkins 远程执行shell 一键远程发布 tomcat
- 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)
- jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录
- Jenkins+GIT+Maven+Shell 实现项目一键发布
- Jenkins+SVN+Maven+Shell 实现项目一键发布