0

我将 jenkins 从一台服务器移动到另一台服务器,虽然大多数事情似乎都在工作,但我无法再在 master 上构建。

当我在 master 上运行作业时,没有获取 bash 配置文件,所以我丢失了所有路径。为了调试,我设置了一个与 master 具有相同凭据的 slave,它工作得很好。我得到了回显用户名和机器名称的工作,无论是在“主”还是在同一台机器上设置的从属服务器上运行,它们都是相同的。

关于如何让 jenkins 在 master 上运行时获取 bash 配置文件的任何想法?

编辑:我刚刚意识到,如果我从命令行手动启动 jenkins,我不会遇到这个问题。例如,下面的第一个命令有效,第二个无效:

$ nohup java -jar "${JENKINS_PATH}" --httpPort=${HTTP_PORT} > ${LOG_PATH} 2>&1 &  # WORKS
$ /sbin/service jenkins start  # DOESN'T WORK

在启动脚本中启动jenkins的命令和我在命令行中运行的命令是一样的。

4

2 回答 2

0

应该检查新配置的设置,例如:用户/组成员资格、文件权限、...

还可以安装(升级)Jenkins,它将再次复制产品的文件并尝试重新配置初始化细节。

于 2012-10-16T08:48:25.593 回答
0

如果作业设置为使用 Ant,那么您可以在~/.antrc文件中放置任何初始化。这被解释为好像它是 Linux/Mac 上的 shell 脚本。您可以通过强制读取初始化文件来对路径或其他变量进行任何设置,例如:

. /etc/profile
. ~/.bash_profile

它在第一个示例中为您工作的原因是 java 进程是从继承环境的命令提示符启动的。在第二种情况下,它正在启动可以作为不同用户和不同环境运行的服务。

如果此方法不起作用,那么您可能会发现在 jenkins 服务启动时会调用一个脚本。尝试man service查找每个服务的配置文件所在的位置,然后尝试强制包含上述 bash 配置文件。

于 2012-10-16T10:50:33.083 回答