Hudson安装配置、部署应用及分析

2024-02-19 04:38

本文主要是介绍Hudson安装配置、部署应用及分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



一、部署环境

机器:一台linux虚机,内存1G,操作系统CentOS release 5.6,硬盘100G。

实验应用:乐学方舟后台部署(非正式环境)

应用环境:apache-tomcat-7.0.27  ,JDK

二、环境搭建

1、下载hudson ,安装部署http://hudson-ci.org/

hudson, tomcat ,集成化管理

点击下载

hudson, tomcat ,集成化管理

2、下载完成,需找一台linux的机器,上传文件。后台解压运行

# java -jar hudson-3.0.1.war --httpPort=8888&

在实验环境中,hudson-3.0.1.war 会默认解压到/root/.hudson/目录下面,这个改变不了

通过浏览器访问http://IP:8888/

hudson, tomcat ,集成化管理

页面最后install,等待安装完成  ,安装最新版的hudson,还是老实的等待安装吧,没有安装后面有的苦了。。

以上是安装hudson的过程

三、新建、部署项目

1、新建项目

hudson, tomcat ,集成化管理

hudson, tomcat ,集成化管理

2、调整系统设置

hudson, tomcat ,集成化管理

设置JDK环境变量

hudson, tomcat ,集成化管理

 

安装ant,添加环境变量:http://ant.apache.org/bindownload.cgi  下载安装包,接解压到自定义目录,就可以使用

hudson, tomcat ,集成化管理

 

SVN的账号密码和添加邮件

hudson, tomcat ,集成化管理

 

hudson, tomcat ,集成化管理

可以先测试,其他不变,点击“save”保存

3、开始配置新建的任务

hudson, tomcat ,集成化管理

hudson, tomcat ,集成化管理

4、配置任务的环境

hudson, tomcat ,集成化管理

SVN 路径

hudson, tomcat ,集成化管理

Ant的build项目,这个build.xml后面说明,很重要的一个文件,贯穿整个hudson是否成功完成部署的关键

hudson, tomcat ,集成化管理

hudson, tomcat ,集成化管理

以上配置好了就可以点击最底下的保存

5、开始构建项目

hudson, tomcat ,集成化管理

点击开始构建

点击console可以查看够构建项目的过程,也能在这里里面看到是够构建成功,还有报错信息

四、项目构建步骤分析

1、构建项目第一步,通过ant,build项目

hudson, tomcat ,集成化管理

在项目设置中,配置选项,build项目

/home/zhengtingting/project/trunk/BackOfficePortal/build.xml  这个我是从SVN上面取的源码(还没有编译)文件存放路径

然后一起查看build.xml文件,在上文中提到该文件的重要性,现在开始解读改文件

从SVN上面取到的源码包存放路径。

hudson, tomcat ,集成化管理

这个build文件是开发会自带的文件,只要我们取下来,几乎不要变动

最重要的应该是后面的

2、构建项目第二步:停止tomcat

在build文件中可以看到这样的一个节点

hudson, tomcat ,集成化管理

在项目中的设置中也能看到这个build文件的提到停止tomcat,由于使用本人自己的用户,所以在脚本中添加了sudo,但是很悲催的告诉大家,hudson中不识别sudo这个命令

#vi tomcat_stop01.sh

hudson, tomcat ,集成化管理

和开心,看到build成功了,但是各位亲们,遗憾的是,在实验机器上面看不到tomcat停止了,所以吧去掉sudo命令,后面你又得很悲催的发现在重新build不成功,为什么?嘿嘿,这就是停止脚本的权限了,给个可执行的权限吧。这回成功了。

3、构建项目第三步:备份项目

hudson, tomcat ,集成化管理

项目设置中添加一条ant节点备份脚本,

重新构建项目吧,这回很确定的说不成功。为什么,还不是文件夹的权限。

首先,备份文件夹的权限,改成所属人为本人,还有项目也是,但是还是失败,最终一狠心,改成777的权限,成功了,这个是弊端啊。

hudson, tomcat ,集成化管理

4、构建项目第四步:覆盖应用

hudson, tomcat ,集成化管理

在build成功之后就会在/home/zhengtingting/project/trunk/BackOfficePortal目录下面生产应用目录,直接就可以拿去覆盖现有应用就可以了

5、构建项目第五步:启动tomcat

hudson, tomcat ,集成化管理

剩下的也就差不多了,该给的权限都给了,不该给的权限也给了,这回也就成功了

五、hudson利弊

Hudson优势劣势
1、  部署简单,脚本使用方便2、  构建过程简单3、  页面配置,实施方便,简单4、  可移植性强,主要移动脚本5、  部署项目失败,回滚简单6、  批量部署简单7、  不需要数据库参与8、  集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。9、  Hudson可以通过插件扩展 1、安装插件时间长2、跨机器构建项目需要人工参与3、文件夹权限不严谨4、hudson自动解压目录不合理(/root/.hudson/)5、需要依赖自动化部署的ant,git等6、使用批处理命令直接移war包。不过这样的缺点在于,移动失败的时候,会显示批处理命令执行成功,hudson是不会报错的,需要人工检查。

 

六、环境部署和实际应用

1、初始环境的搭建和应用部署

有我们OPS有自己编译好的yum源,可以直接将构建项目过程中的第二步停止应用脚本改成yum安装包。

A、 很多应用都需要添加虚拟主机,这就需要在脚本中匹配到某行,添加虚拟主机的配置

B、 构建项目的第二步停止tomcat和第三步备份项目可以省略,不过也可以不省略,看个人习惯

C、 其余的步骤都是相同的

2、跨机部署构建项目

跨机器或是双机部署应用的情况下,这边采用的是rsync同步的方式,部署应用,在这之前是需要人工手动的进行操作,进行配置rsync(rsync部署安晓会他们已经试验过了,有什么需要的这个也是可以沟通滴)

rsync  -vazP  –delete   ip::war/  /home/zhengtingting/deploy/ >>/home/zhengtingting/rsync.log 2>&1

Hudson如果不需要手工参与的话,需要使用一个插件,系统管理/插件管理/可选插件,系统列出可用的所有插件,找到Deploy插件选中并点击安装按钮,等安装完毕后重启tomcat,就可以看到Deploy插件已经安装好。不过在hudson-3.0.1的就没有看到了。安装的插件也没有看到这个功能。

hudson, tomcat ,集成化管理

重新打开上面添加任务的配置界面,找到配置文件的最后,找到Post-build Actions(构建后的动作)

hudson, tomcat ,集成化管理

不过这个构建有点不好的一个现象,不过是否成功的覆盖移植应用,最终在build都会显示成功,如果失败就需要手工的参与,批量处理的这种最好是先在一天验证是否通过后在进行批量的处理。

3、通用性

A、脚本移植

Hudson可移植性还是挺好的,不过在移植过程中,需要重新的下载和更新hudson,需要占用大量的时间。里面的插件,至少需要2-3个小时的安装时间,不过在这个时间可以迁移脚本就行了。安装好插件,需要的配置也得需要个半个小时至1个小时时间。Hudson可移植的也就是脚本,就依赖的包,不需要什么东西。移植性还是相对不错的。

B、没有数据库参数

Hudson不需要涉及到任何数据库参与部署,这就可以避免了很大部分的数据库的更改,还有就是匹配

4、硬件管理

Hudson到使用到现在还没有看到有硬件管理方面的插件。

5、依赖和回滚

A、依赖

Hudson部署看个人喜好用ant,git,maven都行,不过还是需要从SVN上面下东西,

本来从开始就使用ant,必须一定要安装一个,不然是不会成功滴。还有安装的时候需要的各种插件,SVN,EMAIL,还有几个页面初始打开的是必须要安装的几个插件,否则,是会失败滴。

B、回滚

项目构建失败的回滚,只是更改下脚本,将原本备份的解压覆盖到应用目录中就行,最开始的停止tomcat和最后的启动tomcat都需要留着,不需要改动。

七、综上所述

Hudson使用还是挺便捷的,也有所利弊,不过应用在新的简单的项目上面是可以的,本次实验是在本机传输的,后期会跟进对于跨机器的部署,在这边是考虑使用rsync同步的,测试那边已经在使用这个工具跨机器使用。

如需转载请注明出处: http://www.ttlsa.com/html/2518.html

这篇关于Hudson安装配置、部署应用及分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/723519

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa