【发布时间】:2013-01-03 06:44:53
【问题描述】:
我目前正在使用 Phing 和 Jenkins 为我的 CodeIgniter 应用程序自动构建和部署。我遇到的一个问题是重新启动 apache 服务。我在 Phing 中尝试过,但没有足够的权限。重新启动的最佳方式是什么?
编辑:
在 sudoer 文件中添加 jenkins 并执行服务 httpd 重启后,Jenkins 抛出:处理泄漏的文件描述符。下面是通过 Jenkins 的 Phing 输出的 sn-p。它说解决方法是安装守护进程。不知道这意味着什么……
...Build_test > compress:
[echo] YUI Compression started
[echo] Replacing normal JS with compressed files.
[echo] Replacing normal CSS with compressed files.
[echo] chmoding assets
[echo] YUI Compression ended
Build_test > pdepend:
Build_test > httpd_restart:
[echo] Stopping httpd: [ OK ]
[echo] Starting httpd: [ OK ]
BUILD FINISHED
Total time: 13.1424 seconds
Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
[JDepend] JDepend plugin is ready
[JDepend] Found 68 classes in 1 packages
Finished: SUCCESS
【问题讨论】:
-
在 Jenkins 中生成新进程存在问题。我猜重新启动 apache 属于这一类,因为将创建一个新的进程 ID。您是否尝试将重新启动添加到构建后任务?我只是想知道为什么您在执行压缩和 phpdepend 任务之后要重新启动 Apache?你是在重建虚拟主机配置还是什么?
-
我正在使用 APC。如果我不重新启动,有时我会出现白屏死机。如果您知道 APC 解决该问题的方法,请告诉我 :) 但是他们是否有一个插件用于重新启动 apache 作为构建后任务?
-
其实我刚刚找到了这个插件,谢谢你的提示!但是,如果我可以在不重新启动 apache 的情况下解决白屏死机问题,那就太好了!
-
从未遇到过该 APC 问题,但我会调查它并尝试修复它,而不是在 apache 重新启动时围绕它编写代码。祝你好运!
标签: apache codeigniter continuous-integration hudson phing