hudson配置教程
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配置教程的更多相关文章
- openvpn配置教程
openvpn配置教程 本文是为解决本地服器能从外网访问web页,从新改写(临摹) 烂泥:ubuntu 14.04搭建OpenVPN服务器这篇文章 腾讯云为服务器,本地服务器为客户端 一.服务器安装o ...
- VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程
VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程
UEditor是百度开发团队奉献的一款很不错的在线编辑器.在百度自己很多产品上都有应用,本文主要是该编辑器的配置教程. 1.下载UEditor,当前最新版本是1.3.6.这里下载的.net版本,选择U ...
- OpenGL 4.3配置教程
OpenGL 4.3配置教程 下载开发包 需要下载的开发包主要包含如下几个组件:freeglut+glew+ OpenGL.Development.Cookbook+源码+GLM+SOIL. Open ...
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...
- PHP调试工具Xdebug安装配置教程
说道PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...
- Python学习 1 一 Python2.75的安装及环境配置教程
Python2.75的安装及环境配置教程 Python的语法简洁,功能强大,有大量的第三方开发包(模块),非常适合初学者上手.同时Python不像java一样对内存要求非常高,适合做一些经常性的任务方 ...
- 阿里云ECS专有网络产品三个步骤配置教程
阿里云ECS专有网络产品三个步骤配置教程 阿里云专有网络节点已开通地域:美国硅谷可用区1B,新加坡可用区A,北京可用区A,深圳可用区A,杭州可用区D,上海可用区B 举个栗子:购买 美国硅谷可用区1B ...
随机推荐
- leetcode24,交换链表相邻的节点
Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-& ...
- implement a system call in minix
http://www.papervisions.com/implementing-system-call-in-minix-os/
- APUE读书笔记:关于sigsuspend
sigsuspend是一个原子操作,为了防止信号丢失而存在的,具体含义看下函数原型. int sigsuspend(const sigset_t *mask); 先忽略参数,sigsuspend完成的 ...
- NaN(Not a Number)问题
Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contai ...
- Sublime console installation instructions install Package Control
instructions: import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1 ...
- HDU2050 由直线分割平面推广到折线分割平面
直线分割平面问题: 加入已有n-1条直线,那么再增加一条直线,最多增加多少个平面? 为了使增加的平面尽可能的多,我们应该使新增加的直线与前n条直线相交,且不存在公共交点.那么我们可以将新增加的这条直线 ...
- 50条规则提高PHP开发提高效率技巧
0.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作 参数的“函数”(译注:PHP手 ...
- Top 100 Best Blogs for iOS Developers
(by JP Zhang | Last updated: Apr 5, 2016 ) 转载自:http://www.softwarehow.com/best-blogs-for-ios-develo ...
- linux系统查询命令
查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重复行 ...
- GameUnity 2.0 发布倒计时
万众期待的 gameunity 网络游戏框架 已经完成了,现在在最后的检验调试阶段. 因为版本 改动非常之大,所以 版本号 从0.2版本 改成 2.0版本. gameunity事件部分,一如既往保持高 ...