Jenkins(Hudson)实现远程部署Web项目
来源:互联网 发布:求欧美复古风淘宝店铺 编辑:程序博客网 时间:2024/06/07 13:21
Jenkins(Hudson)实现远程部署Web项目
- 博客分类:
- ci
由于项目的需要,我们要实现持续集成Jenkins(Hudson)对Web项目的远程部署。众所周知Maven的Cargo插件可以实现这个功能,但是有的Web服务器Cargo插件是不支持的,比如Resin等,而我们所用的服务器正是Resin。所以如果要坚持使用Cargo插件的话,我们只好换服务器,但这样的影响是很大的,因此只有另辟蹊径。
对于构建的工作可以由持续集成完成,现在要解决的问题是把构建后的war包传到远程服务器上,并执行相关的命令。
在我们对项目进行设置的时候,Build选项中有“Send files or execute commands over SSH”这个选项,如下图,所以可以利用这个将构建后的war包传到远程服务器上,并通过SSH调用远程的脚本进行构建。
要使用SSH功能首先需要配置SSH服务器,通过 系统管理-> 系统配置,进入配置页面,配置选项在页面的底部。
如果SSH是通过Key来进行验证的这里需要输入相关服务器的Key,要是通过用户名密码进行验证的话,SSH Key的输入栏可以全部置空。
我是通过用户名和密码进行验证的,因此SSH Server要配置服务器的信息还有用户名和密码。
配置好SSH服务器后,回到项目的配置页面,在Build选项中首先添加Maven的构建选项
然后继续添加Build选项Send files or execute commands over SSH,上传文件,并通过SSH执行命令。
配置好SSH服务器后,服务器就会出现在SSH Server Name的列表中,Transfer Set Source Files这个路径默认是在项目的workspace中,因为构建好的war包在target目录中,所以这里指向了target/shop.war。Remove prefix可以把target/shop.war的target/去掉,这样上传到服务器上就是shop.war,否则它会创建target目录。上传文件到远程服务器的路径为指定用户的home目录,我配置的用户是root,所以会传到/root目录下。Exec command路径为SSH服务器上的脚本,也就是将war包上传到服务器上之后所执行的脚本文件的位置。
war包传到服务器上了,而且也可以执行shell脚本了,接下来的事情就不言而喻了,我们想干嘛就干嘛吧,写在shell中就OK了。
- Jenkins(Hudson)实现远程部署Web项目
- Jenkins(Hudson)实现远程部署Web项目
- Jenkins(Hudson)实现远程部署Web项目 Publish Over SSH Plugin插件
- Jenkins实现远程部署Web项目
- Jenkins部署Web项目到远程tomcat
- Jenkins部署Web项目到远程tomcat
- Jenkins部署Web项目到远程tomcat
- Jenkins部署Web项目到远程tomcat(四)
- Jenkins部署Web项目到远程tomcat(四)
- Jenkins 实战部署web 项目
- jenkins+maven+git+tomcat实现web项目的自动化部署
- jenkins+maven+git+tomcat实现web项目的自动化部署
- publish over ssh 实现 Jenkins 远程部署 / jenkins 远程执行shell 一键远程发布 tomcat / jenkins分别发布多个项目到多个远程主机
- Centos6.6+Jenkins+gitlabs 远程部署项目
- jenkins实现项目自动部署
- jenkins实现项目自动部署
- hudson部署IIS项目
- Hudson项目部署说明
- IOS resign error: dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
- API 无法显示问题
- Android中Bitmap和Drawable [转]
- iOS xib实现百分比布局
- 列的文字超过宽度的部分则用...省略号显示
- Jenkins(Hudson)实现远程部署Web项目
- struts
- Bootstrip学后见习
- SAP升级数据库ASE报 kernel SySAM: Licenses exist for ASE, but a license containing the configured (PE=EE
- map、set例子
- 算法三:树和堆排序
- JVM 调优参数详解
- Flex日期触发change避免两次初始化
- 10:面向对象封装 续