• virtuallife 于 2011-11-16 15:21 发表
    我倒希望命令行能实现日常的功能:如激活/停止编译(而无需连上 WEB 页面),等等... 望分享及交流~ [/quote]

    关于这个需求,你可以去看看 [url=http://blog.csdn.net/ace_fei/article/details/6836522curl 在命令行上操作 hudson[/url],使用 curl 就可以通过命令行来对 hudson 进行各种操作。] 用

    [[i] 本帖最后由 acefei 于 2011-11-24 15:22 编辑 ]

  • 我当时在 hudson 上配置邮件插件也是各种不如意,后来就使用 perl 脚本(use MIME:: Lite)来发了,html 格式 + 附件什么的都是小 case。 你可以换个思路试试。

    [[i] 本帖最后由 acefei 于 2011-11-24 15:33 编辑 ]

  • poll changes 的问题 at 2011年11月24日

    你的配置库是用的 Clearcase 么?如果是的,那么你应该使用了 Clearcase plugin。 这个 plugin 中会需要你设置你的 View tag,Load rules,Branch(es),等等信息。 设置好了后,你使用 Build Triggers-> poll SCM 后,你通过 Console Output 就可以找到有那些代码改动,以及修改时间,修改人等等信息。 然后你根据错误的代码来过滤下 Console Output 的信息,找到对应修改者,然后对其发邮件。

    如果你想直接用命令的话,可以用 lshistory 来实现你的功能。它会通过 fmt 后面格式化输出,来打印出修改者(\"%u\")就是。/usr/atria/bin/cleartool lshistory -all -since 24-nov-11.02:55:53utc+0000 -fmt '\"%Nd\" \"%u\" \"%En\" \"%Vn\" \"%e\" \"%o\" \n%c\n' -branch brtype:main -nco vobs/test1

    最后附上 [url=http://www.ipnom.com/ClearCase-Commands/Rational] ClearCase Commands Reference[/url]

    [[i] 本帖最后由 acefei 于 2011-11-24 15:34 编辑 ]

  • 谢谢你的分析,这个应该是当时 master 和 slave 之间的 I/O load 比较高导致。

    我是用 ssh 连接的 slave,由于 UT 需要在特定机器上跑,所以我绑定在 slave 上执行,当时 UT 的日志输出量比较大,刷新频率也快(连续不断的刷新,没有丝毫停顿),这时候 slave 又要将日志传输给 master,导致 load 升高,程序异常中断。

    在使用 hudson 过程中,偶尔会发生程序异常终止(但是结果是 success)或者直接报错 FATAL: command execution failed,这些程序往往都是通过 slave 来运行的, 出现 问题时 I/O load 都非常高。

    [[i] 本帖最后由 acefei 于 2011-11-24 14:28 编辑 ]

  • UK 那边的同事编译可以达到那个速度,不过我按他们说的改了也没这么快。

  • 嗯,这样看到的人更多了:lol

  • 把你 perl 代码贴出来看看?你用户名密码确定没写错? 如果你是想用脚本来控制 hudson,其实用 curl 就够了。 详见:[url=http://blog.csdn.net/ace_fei/article/details/6836522http://blog.csdn.net/ace_fei/article/details/6836522[/url]]

    [[i] 本帖最后由 acefei 于 2011-10-31 11:28 编辑 ]

  • 自己搞定了,用 [url=http://wiki.hudson-ci.org/display/HUDSON/Job+Exporter+Pluginhttp://wiki.hudson-ci.org/display/HUDSON/Job+Exporter+Plugin[/url。]

    装好插件后,进入到 "Build" ,点击 "Add build step",选择 "Export Job runtime parameters"。 这样,在当前 job 的 workspace 中会生成一个文件叫"hudsonBuild.properties",这里面有很多跟编译相关的属性,很给力。 这个文件中有一条属性 “build.user.name“ 就是我需要的 triger build user。 唯一不足的是需要读文件来获取(grep "build.user.name" hudsonBuild.properties | cut -f 2 -d =),而不是设置环境变量。 不过比我去抓网页来获取 username 要方便些。

    [[i] 本帖最后由 acefei 于 2011-9-29 17:12 编辑 ]

  • 话说我们的服务器 cpu 是 48 核的,应该够强劲了,但是没发挥功效。 而且我单纯的增加-j 的数目,编译速度反而下降,不知道-j 数目的设定有什么规律 还有,你们 view 的 cachesize 一般是多少?

    [[i] 本帖最后由 acefei 于 2011-9-22 15:15 编辑 ]

  • 谢谢 果然有。 Setting up trust relationships For parallel building to work correctly, the client host must be trusted by the build hosts (that is, remote login from the client host to the build hosts must work without a password being needed). You can set up this trust with .rhosts files on the hosts, or by having your system administrator set up general trust (for example, with /etc/hosts.equiv). To test remote login, execute the following command (substituting your ClearCase installation directory for ccase–home–dir): ccase–home–dir/etc/rsh remote-hostname echo Good-to-use

  • virtuallife 于 2011-4-9 13:00 发表
    这一问题的确很常见,经过楼上的讨论后,思路越来越清晰~ 曾经这一问题也困扰了我,也曾尝试过以获取返回值判断执行结果(详见 [url=http://bbs.scmroad.com/viewthread.php?tid=6912&page=2#pid32475http://bbs.scmroad.com/viewthread.php?tid=6912&page=2#pid32475[/url,问题已经得到很好的解决)。]

    其 ... [/quote]

    谢谢分析,确实我是用 ant 中调用了一个 perl 脚本,是那个 perl 返回的成功。不知道各位有没有熟悉 perl 的,帮看下这个问题 http://bbs.scmroad.com/viewthread.php? %3D1&frombbs=1

  • 我进一步测试了一下,我主要是在 DESTROY 里面调用了一个打包的函数,会改变最后的 exit status 。如果我屏蔽这个函数的话,Hudson 就会判定 BUILD FAILED。 奇怪的是这个函数中并有没做 exit 处理,就 return 了一个变量。 但是能肯定的是这个跟 perl 有关,我错怪 Hudson 了。

    [[i] 本帖最后由 acefei 于 2011-4-8 15:33 编辑 ]

  • 我也是 Java 直接启动

  • 谢谢,这确实是个办法。 那我就在写一个脚本来判断一下吧。 其实我还是想借这个问题来了解一下 Hudson 的判定结果的机制。

  • 补充一下,刚才我没有把问题描述清楚 现在问题是,我配置了 Post-build Actions 中 Build other projects (extended)(这是一个 Build other projects 的扩展插件),可以根据 JOB 执行成功失败,触发不同的 downstream project 。

    我 build 编译失败后,我想 Hudson 应该给一个失败的结果,这样就不会触发后面的 job Triggering a new build of NJ-DailyBringUp #19 但是 Hudson 始终是判断是 BUILD SUCCESSFUL

  • 我是用 java -jar hudson.war 方式启动的 hudson。我的 HUDSON_HOME 设置为/home/fesu/hudson。[code]#!/bin/bash export HUDSON_HOME=/home/fesu/hudson nohup java -jar /home/fesu/hudson.war --httpPort=18080 --ajp13Port=18009 -Xms256m -Xmx512m &[/code] 但是每次升级 hudson 后,HUDSON_HOME 又会指向 [color=Red]/home/fesu/.hudson ,这时看到的 hudson 页面就是空的。

    所以我的 hudson 每次升级后,重新启动前执行了 export HUDSON_HOME=/home/fesu/hudson,最后干脆在启动脚本里也加上这句。

    升级的话,就是用的 xiaopan3322 说的两种方法。

    其中我用第二种方法直接替换 war 包时,其 hudson 目录里配置还在。可见配置文件不在 war 相关路径中,解开覆盖没问题的。

    你试试在 tomcat 的启动脚本中设置下:export HUDSON_HOME。

    [color=Red] 友情提示:升级后 hudson 有些页面是有改变,可能对你的配置有影响。比如 [url=http://bbs.scmroad.com/viewthread.php? %3D2]http://bbs.scmroad.com/viewthread.php? %3D2[/url][color=Red],新版本中的 salve 绑定 Job 的设置就改了。

    [[i] 本帖最后由 acefei 于 2011-1-14 13:12 编辑 ]

  • 谢谢分享,收下了:D

  • 推荐插件 hudson-pview-plugin at 2011年01月12日

    恩,成功了,谢谢,刚刚是我上下行没有设置好。 看来是必须要有个下行任务,才能自动启用 action。

  • scmroad 于 2011-1-12 14:57 发表
    我看到了一个女人。。。。 [/quote]

    [url=http://wiki.hudson-ci.org/display/HUDSON/Girls+PluginGirls] Plugin[/url] [font=仿宋_GB2312] 我也试用过,太招摇了,毕竟是要给领导做 DEMO,就弃用了 [/font]。

  • 华丽的 UI,赞一个

    看完你的布局,让我对 [url=http://wiki.hudson-ci.org/display/HUDSON/Dashboard+ViewDashboard] View[/url] 有了重新的认识。[u]:lol[/u]

  • 推荐插件 hudson-pview-plugin at 2011年01月12日

    哦 谢谢分享 这个 action 是不是只能手动执行,无法自动触发? [attach] 1024[/attach]

    [[i] 本帖最后由 acefei 于 2011-1-12 14:02 编辑 ]

  • 推荐插件 hudson-pview-plugin at 2011年01月12日

    xiaopan3322 于 2011-1-11 18:35 发表
    推荐一些比较有个性的插件吧,好比 promote, code static check 方面的吧,你推荐的这些都太常用了

    1005

    1004 [/quote]

    我其实就学着配置 hudson 才 1 个多星期,插件都是自己根据需求一个个的试出来的,希望你能多介绍点好插件。

    另外能看看你的 promote 配置么? 我觉得这个插件很有个性

    [[i] 本帖最后由 acefei 于 2011-1-12 13:21 编辑 ]

  • 推荐插件 downstream-ext at 2011年01月11日

    codyzhang 于 2011-1-11 15:18 发表
    开源太强大了,啥插件都有!:lol [/quote]

    感觉蛮好用就推荐给大家咯,起个抛砖引玉的作用吧:victory:

  • 推荐插件 hudson-pview-plugin at 2011年01月10日

    xiaopan3322 于 2011-1-8 13:03 发表
    汗……这个不是标配吗 [/quote]

    没装插件的时候是看不到 console column 的