自动打包工具Hudson——使用教程:Hudson安装配置、部署应用及分析

深入解析Hudson持续集成工具v3.3.3源码 本文还有配套的精品资源,点击获取 简介:Hudson是一个流行的开源持续集成工具,用于自动化软件的构建、测试和部署。通过分析Hudson v3.3.3版本的源码,本文深入探讨了其内部机制,包括项目管理、构建调度、插件系统、用户界面、API、构建和测试流程以及通知与报告功能。作者建议读者首先了解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

博途 V15.1安装步骤 温馨提醒:安装此软件电脑配置至少应满足以下要求 处理器 CoreTM i5-3320M 3.3 GHz 或相当 内存 至少8G 硬盘 300 GB SSD 显示器 15.6' 宽屏显示 (1920 x 1080) 1.双击打开【Siemens v15.1】文件夹。 2.鼠标右击【STEP 7 BasicProfess... 阅读详情

相关推荐

【解决方案】使用transformer指定显卡后,模型依然加载到默认第1张显卡上

按理说指定了环境变量为后面几张显卡,模型会自动加载到我们指定的显卡上。可是查看gpu使用情况,发现还是加载在了第一张显卡上,这是为啥呢?

m0_56745306的博客 2441

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

一、部署环境 机器:一台linux虚机,内存1G,操作系统CentOS release 5.6,硬盘100G。 实验应用:乐学方舟后台部署(非正式环境) 应用环境:apache-tomcat-7.0.27 ,JDK 二、环境搭建 1、下载hudson ,安装部署http://hudson-ci.org/ 点击下载 2、下载完成,需找一台linux的机器,上传文件。后台解压运...

weixin_30782331的博客 273

QGIS|如何将WGS84转换为CGCS 2000坐标系?

QGIS 3中如何将WGS84转换为国家2000大地坐标系? 今天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。 01工程坐标系 从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程坐标系(Project CRS)。当前地图可以由多个图层组成,各种来源数据的坐标参照系(Layer CRS)并不一定相同,QGIS在绘制图层之前将根据工程坐标系进行动态坐标转换,然后显示在地图画布中。 因此,在处理空间数据的过程中,一定要特别注意...

QGISClass的博客 1万+

hudson +gradle+git+maven(非必选)持续集成一 打包自动化

第一集 hudson+gradle+git+maven(非必选)持续集成编译,打包,发布到仓库集成 前言 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和...

weixin_34274029的博客 189

单细胞实战之亚细胞分群从T/NK至CD4+T细胞——从入门到进阶(中级篇1)

亚细胞分群从T/NK至CD4+T细胞

zfyyzhys的博客 6392

图像修复黑科技:对比BM3D/DnCNN等5种去噪器在PNP框架中的实战效果

本文深度评测了BM3D、DnCNN等五款主流去噪器在即插即用(PnP)优化框架中的实战表现。通过量化指标、视觉对比及超分等泛化任务测试,揭示了深度学习模型在性能与收敛速度上的优势,并为不同应用场景提供了选型指南与工程化建议。

weixin_29065959的博客 371

自动打包工具Hudson——简介

HUDSON   (Java开发的一种持续集成工具) Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作。 包括: 1、持续的软件版本发布/测试项目。 2、监控外部调用执行的工作。 Hudson的特性 1、易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。 2、易于配置

闲暇部落 854

MATLAB Appdesigner开发独立桌面App全流程(一):以打开串口功能为例介绍Appdesigner的基本使用

本文详细介绍了Appdesigner的基本使用,以串口功能为例介绍按钮回调函数的实现以及控件之间通信的问题

Zhuwany的博客 3万+

Hudson + SVN + Maven 持续集成实现自动化编译、打包、部署(over SSH 和 Deploy war/ear to a container 两种部署方式)...

下载hudson ,安装部署http://hudson-ci.org/ 将下载的hudson-3.3.3.war放到tomcat的webapps目录下并启动tomcat,输入地址访问 点击Install安装Hudson核心插件 安装过程比较慢 完成后点击Finish 配置安全管理 点击 “系统管理”--》“Configure Security” 如下 ...

weixin_33924220的博客 320

AHB不对称半桥反激电路设计(一)变换器拓扑工作原理详解

本文详细分析了AHB(不对称半桥)反激变换器拓扑的工作原理及关键优势。该拓扑通过谐振腔结构实现原边功率管的零电压开通(ZVS)和副边整流管的零电流关断(ZCS),显著提升效率至95%以上。文章阐述了6个工作阶段的时序特征,包括谐振电感电流和电容电压的数学模型推导。AHB拓扑具有漏感能量回收、宽电压输出(适配PD快充等场景)和协同储能等优势,相比传统方案可缩小变压器体积30%,成为100-300W隔离电源的理想选择。

【Simon】的博客 7170

从零开始学Agent的搭建——多角色项目需求分析框架实战

场景一:电商促销需求——技术细节顾此失彼团队用单Agent分析一个"双11秒杀系统"的需求。Agent输出了完整的功能清单,但当我们拿着这份方案找架构师评审时,发现了致命问题:Agent完全没有考虑库存扣减的并发一致性、Redis与MySQL之间的数据同步延迟、以及超卖风险的控制策略。原因是单Agent在处理"业务理解"任务时,已经耗尽了它的"注意力预算",技术深度分析几乎为空。场景二:ERP集成需求——跨系统边界模糊。

软件行业技术文化交流。 536

【Maven教程】(十):使用 Hudson 进行持续集成—— 从Hudson的安装到任务创建 ~

优秀的持续集成工具有很多,如老牌的开源工具CruiseControl 、商业的 Bamboo 和 TeamCity 等。这里只介绍 Hudson, 因为它是目前较流行的开源持续集成工具。该项目过去一直托管在 java.net 社区,不过现在已经迁移到。Hudson 主要是由Kohsuke Kawaguchi 开发和维护的,Kohsuke Kawaguchi 自2001年就已经加入 Sun 公司(当然,现在已经是 Oracle 了)。

Technology changes the world of life 2550

EXCEL VBA从入门到精通 前言

本书通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程,同时也介绍了常用的工具、资源、社区和协作平台等,方便读者进行进一步的学习和开发。我强烈推荐这本书给所有希望学习和掌握Excel VBA编程的读者。多样化的资源和工具介绍:本书介绍了丰富的工具和资源,包括官方文档、在线教程、代码库、论坛、博客等,方便读者进行进一步的学习和开发。详细的讲解和丰富的示例:本书从语法和对象开始讲解,通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程。第一节:什么是VBA 5。

1734

hudson linux节点,Hudson安装配置、部署应用及分析

一、部署环境机器:一台linux虚机,内存1G,操作系统CentOS release 5.6,硬盘100G。实验应用:乐学方舟后台部署(非正式环境)应用环境:apache-tomcat-7.0.27 ,JDK二、环境搭建点击下载2、下载完成,需找一台linux的机器,上传文件。后台解压运行# java -jar hudson-3.0.1.war --httpPort=8888&在实验环境...

weixin_39817012的博客 207

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Hudson配置和自动化构建部署项目

Hudson配置和自动化部署项目Hudson持续集成需要安装的插件系统设置构建MAVEN项目需要启动的jar或者war工程自动化部署 Hudson持续集成 Hudson是一个持续集成平台(升级版使用Jerkins),目前已经集成了SVN多库管理,Maven私有库,代码质量检测平台Sonarqube (目前使用的是7.2版本,需要对应的JDK版本是1.8版本) 需要安装的插件 Hudson需要的安装...

weixin_39276868的博客 572

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Hudson 2.x CI 服务器使用教程

Hudson 2.x CI 服务器使用教程 1. 项目介绍 Hudson 2.x 是一个持续集成(CI)服务器,旨在自动化构建、测试和部署软件项目。它是 Jenkins 的前身,提供了强大的插件生态系统,支持多种编程语言和构建工具。Hudson 2.x 的主要目标是简化开发流程,提高软件质量,并加速发布周期。 2. 项目快速启动 2.1 环境准备 在开始之前,请确保您的系统上已安装以下软件: J...

gitblog_00304的博客 1196

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Hudson CI入门

最近正好有机会在工作中推广持续集成,就借机在项目中做了一些应用,起初选择了老牌的CruiseControl,不过在实际的使用中总感觉CruiseControl在多模块的Maven项目方面有些力不从心,而且结果报表和使用界面上也不是让我很满意,配置起来还有点麻烦,也许TW的几个核心贡献者都把精力放在Cruise上了吧……在一个项目结束后,决定抛弃CruiseControl,在新项目里试试Hu

DigitalSonic的自留地 4702

Hudson插件开发入门体验

持续集成(CI)将软件项目流程的各个阶段进行自动化部署,从build, deploy, test automation到coverage分析,全部实现自动完成,而不需要每天的手工操作。 在敏捷开发过程中,持续集成大大提高了团队的工作效率,开发和测试人员可以专注于代码与测试用例的

周自信的技术博客 5856

持续集成篇【4】:Hudson 持续集成服务器的安装配置与使用

Hudson 持续集成服务器的安装配置与使用一、Hudson 安装配置1、 安装JDK并配置环境变量(略)2、 Maven本地仓库的安装(使用Maven作为项目构建与管理工具)(1)下载maven-3.0.5(2)解压(3)配置Maven环境变量(4)Maven本地库配置3、 配置HudsonHome,在/root目录下创建HudsonHome目录,并配置到环境变量4、 下载Tomcat,当前使用...

Guardian 581

CI服务器-Hudson持续集成服务器的安装配置与使用

第一章Hudson持续集成服务器的安装配置 IP:192.168.4.221 8G内存(Hudson多个工程在同时构建的情况下比较耗内存) 环境:CentOS 6.6、JDK7 Hudson不需要用到数据库 xml格式保存数据 Hudson只是一个持续集成服务器(持续集成工具) , 要想搭建一套完整的持续集成管理平台, 还需要用到前面课程中所讲到的SVN、Maven、Sonar 等...

kk的博客 324

hudson部署

一、部署环境 机器:一台linux虚机,内存1G,操作系统CentOS release 5.6,硬盘100G。 实验应用:乐学方舟后台部署(非正式环境) 应用环境:apache-tomcat-7.0.27  ,JDK 二、环境搭建 1、下载hudson ,安装部署http://hudson-ci.org/ 点击下载 2、下载完成,需找一台l

zjd934784273的专栏 444

转载】Maven + SVN + Hudson 自动编译、部署、发布

目的:实现自动化部署,省去代码开发。提高工作效率。 内容:利用开源的可持续化继承工具。实现java项目的编译、打包、发布部署等工作流程。 主要介绍3个步骤: 一、自动化部署的环境搭建; 二、Maven对java的自动化编译、打包、发布; 三、hudson对java的自动化编译、打包、发布;

hh303392049的博客 1591

9、Hudson的使用(使用Hudson来自动化编译、分析、打包、发布、部属项目)

Hudson的使用(使用Hudson来自动化编译、分析、打包、发布、部属项目) 1、添加项目 2、构建项目出现SonarQube错误时的解决方法 3、远程部属项目 4、通过Hudsonp构建的项目在HudsonHome/jobs目录下 5、自动化构建需要把Hudson构建好的文件拷贝到部属服务上,构建

leili0806的专栏 893

Dubbo入门到精通学习笔记(六):持续集成管理平台之Hudson 持续集成服务器的安装配置与使用...

文章目录安装Hudson使用Hudsontips:自动化部署附录:两个脚本 安装Hudson IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) 环境:CentOS 6.6、JDK7 Hudson 不需要用到数据库,Hudson 只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集...

as403045314的博客 460
上一篇: 自动打包工具Hudson——简介
下一篇: onActivityResult()和onResume()的调用顺序问题
闲暇部落
博客等级 码龄12年 2777粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值