技术标签: subversion jboss svn hudson triggers 任务
Hudson 项目总结
1. Hudson 介绍
Hudson是一款可扩展的持续集成(Continuous Integration)引擎。
1.1 主要作用:
(1)自动化地构建软件项目。
(2)构建可持续的自动化检查
(3)构建可持续的自动化测试
(4)构建成功后,后续过程的自动化,监控一些定时执行的任务。
具体描述如下:
[1] 程序员通过SVN客户端提交代码。
[2] Hudson用检查更新,svn update命令从svn中更新代码到本地。
[3] Hudson调用项目里的Ant或者Maven脚本进行构建。
[4] 构建结束,生成报告并记录日志,发送结果。
[5] 用户可随时通过浏览器在Hudson上浏览构建结果。
1.2 主要特性:
(1)易于安装。只要把Hudson.war部署到servlet容器,不需要数据库支持。
(2)易于配置。所有配置都可以通过web界面实现。
(3)集成RSS/E-mail/IM。通过RSS发布构建结果或当构建失败时email通知。
(4)生成Junit/TestNG测试报告。
(5)支持分布式构建。Hudson能让多台计算机一起构建/测试。
(6)支持文件识别。Hudson能够跟踪不同版本的jar
(7)支持插件扩展。
1.3 软件准备
(1)JDK
(2)Maven
(3)Subversion
(4)Tomcat 或 Jboss
(5)Hudson
1.4 搭建方法
这里只是简单地介绍Hudson的搭建方法,详细内容请参考:svn://10.20.65.109:3691/document/tech/all/hbzhao/目录下,《Hudson搭建方法.doc》文档。
(1) 安装JDK 并设置环境变量JAVA_HOME的值为JDK的安装目录。
(2) 解压maven的到本地目录,设置环境变量M2_HOME, 在path中添加M2_HOME\bin.
(3) 安装tomcat 或jboss。
(4) 配置环境变量HUDSON_HOME(可选的)。
(5) 下载Hudson.war,放到tomcat安装目录下,或jboss的sever\default\deploy目录下。
2. Hudson 用法
以上简单介绍了,Hudson的概况,重点在于如何运用这个工具。
2.1新建一个Hudson任务
因为任务的内容都在$HUDSON_HOME\job目录下,当然这里$HUDSON_HOME是可以自己改变或设定的.
2.2 Project name和 Description
确定一个任务名称(job name),一般情况下最好和svn上同名或类似。
一般请情况选择建立一个自由风格的任务job。当新建的任务与已存在的某个任务类似时,也可以选择复制一个任务(copy existing job)。
2.3 Source Code Management选项
在Source Code Management选项里选择Subversion
选择了Subversion之后,要在Repository URL栏里填写代码的svn地址:
填入svn地址后仍旧显示,红色,这时点击enter credential 进入新的页面
选择Yes 点击OK按钮。
显示授权成功,点击Close 重新回到配置页面
Build Triggers 选项里
选择Poll SCM 在文本框里填写 “5 * * * *”表示没5分钟检查一次代码库(即svn库),如果代码有更新,则递归到本地,进行自动构建。
2.4 Build Triggers选项
2.5 Build 选项
鼠标点击Add build step 按钮,在下拉菜单中,选择Execute Windows batch command 链接
会弹出文本编辑框,这些文本框里,就可以编写批处理脚本了,
批处理文本框,可以添加多个,一般一个文本款,用于完成一项相对独立的任务或模块。其中the list of available environment variable 列出了Hudson自己的环境变量,我们编写批处理脚本时,可以加以利用,其中用到最多的是%WORKSPACE%和%HUDSON_HOME%. 它们被表示:D:\HudsonWorkspace\jobs\任务名\workspace; 和D:\Hudsonworkspace;
其实这里往往是,建立一个Hudson任务的最难的部分。
2.6保存配置参数
最后,不要忘记,点击save按钮,保存你对该项任务的所有设置和参数。
保存后会,自动回到本任务的主页面下,这时候可以先手动点击Build now 按钮,就可以开始自动构建了。
3. Hudson 规划
(1) 规划一个总体布局
a. 所有模块代码都用Hudson来自动构建,目标达到持续集成(continuous interation).
b. 合理划分,分类管理。在不同的视图(view)
c. 与svn密切配合。作为一个可视化的模块的布局,简化版本。
(2)hudson可以完成一些测试
a. 探索一些,自动化测试的插件或者功能。
b. Java 的一些代码规范。
c. 命名约定
4. Hudson 目标
(1)持续集成:辅助性工作,重复性工作,减少到最低。
(2)服务器备份: SVN,Hudson。
文章浏览阅读1k次。启动tomcat时,eclipse莫名奇妙自动跳转到debug模式_eclipse老是弹出debug窗口
文章浏览阅读931次,点赞23次,收藏24次。\alps\frameworks\base\services\java\com\android\serverSystemServer.java,BluetoothManagerServices.java,BluetoothSBluetooth.h, bt_hf.h,bt_hf_client.h, bt_av.h,Bt_sock.h, bt_hh.h, bt_hl.h,bt_pan.h, bt_mce.h, bt_gatt.h,bt_rc.h, bt_sdp.hbtif_core.c, bluetooth.c_android连接hfp代码
文章浏览阅读3.2k次,点赞3次,收藏5次。查看自己有没有安装好python库,最简单的办法在可以再控制台下使用import语句测试C:\Users\sony>pythonPython 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32Type "help", "copyright", "credits" or "license" for m..._policycoreutils-python-utils 查看是否安装
文章浏览阅读1.1w次,点赞51次,收藏202次。最近在学习如何制作 FPS 游戏,学习了如何使用角色控制器来控制角色的移动跳跃等等,结合之前学到的使用 transform,刚体等使物体移动,不同的移动方式适用于不同的场景,今天就来简要盘点一下各种移动方式以及其优劣之处,若有不对之处,请多多指教。..._unity 移动
文章浏览阅读1.7k次。pytorch中.to(device) 和.cuda()的区别说明原理.to(device) 可以指定CPU 或者GPU 1 2 3 4 5 6 device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 单GPU或者CPU model.to(device) #如果是多GPU if torch.cuda.device__pytorch 1.13.1 py3.7_cpu_0 pytorch
文章浏览阅读3.2k次,点赞2次,收藏4次。一、首先添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependen..._spring boot项目中有jsp thymeleaf
文章浏览阅读548次。反序列化php反序列化漏洞又称对象注入,可能会导致远程代码执行(RCE)个人理解漏洞为执行unserialize函数,调用某一类并执行魔术方法(magic method),之后可以执行类中函数,产生安全问题。所以漏洞的前提:1)unserialize()函数变量可控2)存在可利用的类,类中有魔术方法右键查看源码image.png构造读出hint.phpimage.png解码base64class ..._=hint.php f1a9.php
文章浏览阅读612次。创新工场董事长兼首席执行官李开复在西北农林科技大学以《促我成长的十条箴言》为题,用平实而不失幽默的语言,讲述了自己的很多故事,与7000余名学子一同分享自己成长过程中获得成功时的激动与喜悦,经历困难与挫折时的蹉跎与彷徨,为青年学子指点人生———1、“自信不失谦虚,谦虚不失自信。”李开复讲道,小时候,当他拿着90分的考卷回家,却被妈妈结结实实打了一顿。妈妈生气地告诫他,打你不是因为成绩不好,而是太自大。从此,他就记下了这个教训并受益终身———自信,但_乔布斯的“热情理论”
文章浏览阅读258次。Ctrl+A:到行首(达到Home键的效果)Ctrl+E:到行尾(达到End键的效果)Ctrl+N:到下一行Ctrl+P:到上一行Ctrl+K:从光标处开始删除,直到行尾fn键+左方向键是HOMEfn键+右方向键是ENDfn+上方向键是page upfn+下方向键是page down..._macbook自动换行快捷键
文章浏览阅读3.1k次。经过一段时间的C++和QT的学习,打算好好的改造一下前面的C++五子棋游戏_华清远见 五子棋
文章浏览阅读2.6k次,点赞12次,收藏30次。我们需要用C语言模拟一个通讯录可以用来存储1000个人的信息每个人的信息包括姓名、电话、性别、住址、年龄功能包括: 1.新增联系人 2.查找联系人 3.删除联系人 4.修改联系人 5.查看所有联系人 6.以名字排序所有联系人_怎么用c语言初始化一个通讯录
gcc编译C语言文件过程,包括创建、编辑源文件,生成可执行文件,以及静态连接的过程。