在Jenkins上构建Master

时间:2012-10-15 23:00:38

标签: bash jenkins master .bash-profile slave

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

当我在master上运行一个作业时,没有bash配置文件来源,所以我错过了我的所有路径。为了调试,我设置了一个与master相同的凭据,它工作得很好。我得到的工作是回应用户名和机器名,无论是在“master”上运行还是在同一台机器上设置的slave上,它们都是相同的。

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

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

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

在启动脚本中启动jenkins的命令与我在命令行上运行的命令相同。

2 个答案:

答案 0 :(得分:0)

应检查新配置的设置,例如:用户/组成员身份,文件权限,......

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

答案 1 :(得分:0)

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

. /etc/profile
. ~/.bash_profile

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

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