gpt4 book ai didi

apache - 使用 Jenkins 或 Phing 重新启动 apache

转载 作者:行者123 更新时间:2023-12-02 07:06:16 24 4
gpt4 key购买 nike

我目前正在使用 Phing 和 Jenkins 来自动构建和部署我的 CodeIgniter 应用程序。我遇到的一个问题是重新启动 apache 服务。我在 Phing 中尝试过,但没有足够的权限。重新启动的最佳方式是什么?

编辑:

将 jenkins 添加到 sudoer 文件并执行服务 httpd restart 后,Jenkins 抛出:处理泄漏的文件描述符。下面是通过 Jenkins 输出的 Phing 的片段。它说解决方法是安装 daemonize。不知道这意味着什么...

...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

最佳答案

如果您使用的是 Linux,您可以使用 sudo 命令运行 Phing,以授予其足够的权限来重新启动 apache。

sudo phing restartapache

假设restartapache是​​一个调用apache restart命令的exec任务。例如:

<target name="restartapache" description="Restarts the web server">
<exec command="/etc/init.d/apache2 restart" />
</target>

为了避免 sudo 命令提示输入密码,您可以更新运行构建的任何用户帐户的 sudo 权限(此示例演示了关闭 jenkins 用户的 sudo 密码提示):

sudo visudo

然后添加以下行:

Defaults:jenkins !requiretty,!lecture
jenkins ALL=NOPASSWD:/etc/init.d/apache2

以上内容已根据 this answer 进行编辑以提高安全性这样 Jenkins 只允许在没有密码的情况下重新启动 apache,其他什么都不能。

关于apache - 使用 Jenkins 或 Phing 重新启动 apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6896644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com