Hudson配置教程

hudson是个优 秀的开源工具,可惜是小日本开发的。这点不爽。拿过来用吧。我们公司(Qisda)的用途是 用来晚上定时的抓Android的代码,然后编译,保存img文件,然后根据结果发出mail来,这就是通常说的NightlyBuild. 它的用途就要是 定时在指定的某台机器上做某些事件。

本文会讲述如下内容:

1 hudson的安装

2 hudson配置定时抓代码编译代码。

上网都搜了。没有很连贯的介绍这个用法的。这个是我自己通过长时间的琢磨弄透彻的。

1 安装过程

先下载下来,下载地址自己找,很好照的。可惜从官网上下载比较慢,没办法,用wget断点续传吧。20多M下载下来。hudson.war

这里说的安装都是安装到ubuntu里。window下我没试过。再说现在用window的很少了吧。淘汰了吧?

然后配置使其开机运行。两种方式可以达到效果,一种是部署到tomcat里。把 hudson.war放到tomcat的 webapp目录下。删除该目录下的所有东西。然后mv hudson.war ROOT.war 这样开机的时候,tomcat会自动运行。如果不能自动运行。你需要看看/etc/init.d目录下。根据runlevel设置软连接使其开机启动。这 个相信大家很清楚。不多说。

还有一种是 自己写点开机启动脚本。通过java -jar hudson.war 在开机的时候让它直接运行。我们公司目前就是用的这个方法。这里最好设置下 hudson_home环境变量用来保存配置信息。

弄完这个后,重新启动机器就可以在客户端通过IP 端口号8080访问了。

2 配置过程

我们公司的情况是用hudson管理5台机器。每台机器做不同的事情。要实现这个效果可以 新建个slaver. 通过ssh建立连接 输入用户名 密码就可以连接到节点机器上了。

下一步就是创建个job,填写job的名字。然后设置这个job

可以设置这个job保持编译的天数,可以设置这个job是否activie的。可以设置这个job在那个节点上运行。这个节点就是刚才创建的slaver.

还是可以设置这个job在这个节点的工作目录。也就是环境变量workspace。

下面就是设置这个job在什么时间启动。这个设置方法类是crontab 格式 分 时 日 月 星期

在下面当然设置这个job做什么事情了。比如要执行哪个脚本。我们这抓code也是通过repo git抓代码。然后编译。

最后可以在archive the Artifacts里设置保存哪些文件。换可以设置这个job完成后再执行哪个job.

甚至可以填写mailserver的地址。让其帮助发mail. 不过我们公司发mail都是我自己用python写的。

这样保存以后,就可以定时运行了。

更强大的功能是可以轮训执行。比如 大家都在checkin android代码,我向做到每次有人check in,我就把代码抓下来,然后让hudson根据系统的负载情况随机的选择一台loading轻的来编译。这就是平常说的triggerBuild.

过程是大家把代码通过git checkin 到 gerrit里。然后 gerrit触发hudson,hudson选择一起机器做快速build. 完成后把本次checkin的diff信息发出来,project leader可以根据这个信息判断本次check in是否merge进去。

回想往事,现在说起来蛮轻松自在的。可是当时不明白也费了好大的劲。看网上没这方面分享。特地把经验分享給大家。明基 臧春杰 移动通信研发中心。

相信你已经有收获了。看帖是收获。回帖是美德!

hudson配置教程的更多相关文章

  1. openvpn配置教程

    openvpn配置教程 本文是为解决本地服器能从外网访问web页,从新改写(临摹) 烂泥:ubuntu 14.04搭建OpenVPN服务器这篇文章 腾讯云为服务器,本地服务器为客户端 一.服务器安装o ...

  2. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

  3. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  4. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程

    UEditor是百度开发团队奉献的一款很不错的在线编辑器.在百度自己很多产品上都有应用,本文主要是该编辑器的配置教程. 1.下载UEditor,当前最新版本是1.3.6.这里下载的.net版本,选择U ...

  5. OpenGL 4.3配置教程

    OpenGL 4.3配置教程 下载开发包 需要下载的开发包主要包含如下几个组件:freeglut+glew+ OpenGL.Development.Cookbook+源码+GLM+SOIL. Open ...

  6. Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS

    摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...

  7. PHP调试工具Xdebug安装配置教程

    说道PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...

  8. Python学习 1 一 Python2.75的安装及环境配置教程

    Python2.75的安装及环境配置教程 Python的语法简洁,功能强大,有大量的第三方开发包(模块),非常适合初学者上手.同时Python不像java一样对内存要求非常高,适合做一些经常性的任务方 ...

  9. 阿里云ECS专有网络产品三个步骤配置教程

    阿里云ECS专有网络产品三个步骤配置教程 阿里云专有网络节点已开通地域:美国硅谷可用区1B,新加坡可用区A,北京可用区A,深圳可用区A,杭州可用区D,上海可用区B 举个栗子:购买 美国硅谷可用区1B  ...

随机推荐

  1. MFC中spin control使用

    1.绑定spin和edit m_Spin.SetBuddy(GetDlgItem(m_Edit1)); m_Spin.SetRange(0,100); 2.实现数值的增减 双击控件添加消息 void ...

  2. Chapter 2 Open Book——10

    I sent that, and began again. 我发送了它,然后又一次重新开始写了. Mom,Everything is great. Of course it's raining. I ...

  3. 在选定的数据源上未找到名为“TitleSub”的字段或属

    在.NET开发过程中时常会遇到“在选定的数据源上未找到名为“TitleSub”的字段或属性”的错误”,导致这类错误的原因有很多,在我的项目中,详细情况是这样:1.有两个控件:DropDownList类 ...

  4. servlet第2讲(下集)----创建servlet实例(继承GenericServlet)

  5. Github建站全攻略

    本系列为原创,发表在我的github主页,详细介绍了如何在github上建立个人网站,还包括域名绑定.评论功能.站内搜索等辅助功能的介绍,欢迎交流.   一步步在GitHub上创建博客主页(6) 本篇 ...

  6. flash Ane

    1.ANE简介 Adobe AIR Native Extension,Adobe AIR的本地扩展,简称ANE.什么叫本地扩展?因为Adobe AIR是跨平台的一个运行时,可以在Windows,Mac ...

  7. iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?

    初代iPhone 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS也保持不变. 那时编写iOS的App( ...

  8. C++中为什么构造函数初始化列表

    已经有个构造函数负责初始化,为什么还需要构造函数初始化表呢? 在以下三种情况下需要使用初始化成员列表:一,需要初始化的数据成员是对象的情况:二,需要初始化const修饰的类成员:三,需要初始化引用成员 ...

  9. perl-cgi基础

    来源: http://www.cnblogs.com/itech/archive/2012/09/22/2698553.html 代码: http://xxxxx/cgi/perl-cgi.cgi?n ...

  10. no ia32-libs

    sudo apt-get install lib32stdc++6 sudo apt-get install lib32z1 http://blog.csdn.net/wangbin_jxust/ar ...