我有一个脚本可以执行构建以及执行 svn 导出。当我手动运行 hudson 时,通过从 root 用户运行它,我可以毫无问题地进行构建和 svn 导出。
如果我使用服务 (chkconfig) 调用 hudson,则 hudson 运行正常。 SVN checkout(假设这是 URL1)也可以,因为凭证存储在 hudson 配置中。但是,当我的脚本尝试执行 svn 导出(不同于 URL1;假设这是 URL2)时,它总是失败。它说“'root'的密码:身份验证领域”。这基本上是错误,因为我的构建服务器无法提供登录 svn 所需的凭据。这是我不明白的,因为我将 svn 凭据存储在我的根帐户中,并且从 shell 或当我手动启动 hudson(不是作为服务)时对 URL2 执行 svn update/svn info 没有问题。
我现在的猜测是,当我们将应用程序作为服务运行时,它不会加载部分/所有存储的用户配置?知道如何强制服务加载我的 svn 凭据吗?也欢迎任何其他解决方案/见解。
顺便说一句,我的构建服务器运行的是 Red Hat 5.6
谢谢!!!
最佳答案
不能给你一个详细的答案,但是交互式 shell 和作为服务运行时的区别之一是第一个通过读取 ~/.bash_profile 启动,而第二个运行 ~/.bashrc 尝试比较两者!
关于linux - 使用作为服务运行的 Hudson 执行 svn 导出时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527216/