gpt4 book ai didi

django - Tomcat + Hudson 和测试 Django 应用程序

转载 作者:行者123 更新时间:2023-11-28 20:09:48 25 4
gpt4 key购买 nike

我将 Hudson 用于测试我们的 Django 应用程序的预期目的。在初始测试中,我将使用 war 方法部署 Hudson:

java -jar hudson.war

效果很好。但是,我们希望在 Tomcat 上运行 Hudson 实例以获得稳定性和更好的安全灵 active 。

但是,现在使用 Tomcat 运行 Hudson 似乎无法识别以前识别的 Python 库,如 Virtualenv。这是测试的输出:

+ bash ./config/testsuite/hudson-build.sh./config/testsuite/hudson-build.sh: line 5: virtualenv: command not found./config/testsuite/hudson-build.sh: line 6: ./ve/bin/activate: No such file or directory./config/testsuite/hudson-build.sh: line 7: pip: command not found

virtualenv 和 pip 都是使用 sudo easy_install 安装的,它们在哪里?

virtualenv: /usr/local/bin/virtualenv

pip: /usr/local/bin/pip

Hudson 现在在 tomcat6 用户下运行。如果我 su 进入 tomcat6 用户并检查 virtualenv,它会识别它。因此,我不知道为什么它在那里不识别它。

我尝试从脚本中删除命令并将其逐行放入 Hudson 的 shell 执行框中,但仍然是同样的问题。

有什么想法吗?干杯。

最佳答案

您可以通过 Manage Hudson -> 全局配置您的环境变量环境变量 或每台机器通过 Machine -> Configure ->环境变量(或使用 Setenv 插件构建)。这听起来像您可能需要适本地设置 PATH 和 PYTHONPATH;至少那是简单的解决方案。

编辑添加:我觉得以下内容有点夸张,但并非真正针对您或您的情况。我认为你在这里已经有了正确的心态,因为你首先使用的是 virtualenv 和 pip——你说“我们希望我们的构建机器在 /usr/local,"然后完成它。随心所欲地休息......

虽然 PATH 设置起来很简单,但有不同的构建环境(或依赖于用户的环境)是一种集成“气味”。如果您在构建中依赖于某个环境,那么您应该验证环境或将其显式设置为构建的一部分。我放在构建脚本中而不是在 Hudson 中设置环境。

也许您唯一的假设是 virtualenv 和 pip 在 PATH 中(因为这些是管理其他依赖项的好工具),但是构建假设往往会增长并被遗忘(直到你需要建立一个新的机或用户)。我发现进行显式检查或引用作为我定义的构建环境的一部分的显式可执行路径。这是当你有一个明确定义的环境时特别有用遗留构建或者如果您依赖特定版本的构建工具。

作为我遇到环境问题的构建的一部分(尤其是在 Windows 上使用 cygwin),我打印环境作为第一个构建步骤。 (但我倾向于 有点偏执 积极主动。)

我不想说教,我只是想分享我的观点。

关于django - Tomcat + Hudson 和测试 Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4380497/

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