Jenkins 安装可以对二进制文件、作业和工件使用不同的路径吗?

Jenkins 安装可以对二进制文件、作业和工件使用不同的路径吗?

我正在安装 Jenkins(在 Windows 上),并且希望安装本身(jenkins.warjenkins.exe插件)位于系统驱动器(C:)上,但作业和工件(位于 D:)上

文档JENKINS_HOME似乎表明不可能... 这是正确的吗,或者是否存在单独的变量 - 或命令行开关 - 我可以用来告诉软件对“代码”和“数据”使用单独的路径?

答案1

有一个记录选项可以分离“代码“(即jobs/jobname/config.xml:)来自数据“ (IE; jobs/jobname/builds/...

使用 Jenkins 系统属性jenkins.模型.Jenkins.buildsDir

jenkins.model.Jenkins.buildsDir

默认: ${ITEM_ROOTDIR}/builds

描述:默认情况下,给定作业的配置位于 下$JENKINS_HOME/jobs/[JOB_NAME]/config.xml,其构建位于 下 $JENKINS_HOME/jobs/[JOB_NAME]/builds。此选项允许您将构建存储在其他地方,这对于更细粒度的备份策略很有用,或者将构建数据存储在更快的磁盘(如 SSD)上。此值支持以下占位符:

${JENKINS_HOME}  – Resolves to the Jenkins home directory.
${ITEM_ROOTDIR} – The directory containing the job metadata within Jenkins home.
${ITEM_FULL_NAME} – The full name of the item, with file system unsafe characters replaced by others.
${ITEM_FULLNAME} – See above, but does not replace unsafe characters. This is a legacy option and should not be used.

例如,如果您想将构建存储在 Jenkins 主目录之外,则可以使用如下值:/some_other_root/builds/${ITEM_FULL_NAME}这曾经是一个 UI 设置,但在 2.119 中被删除,因为它不支持现有构建记录的迁移,并且可能导致构建相关的错误,直到重新启动。

阅读链接中的更多详细信息,了解如何实现现有配置。

用法

-Dproperty=value系统属性通过传递给 java 命令行来启动 Jenkins 来定义。确保在 -jar 参数之前传递所有这些参数,否则它们将被忽略。示例:

java -Dhudson.footerURL=http://example.org -jar jenkins.war

警告:兼容性

我们的确是不是保证系统属性保持不变并无限期地发挥作用。这些开关通常具有实验性质,如有更改,恕不另行通知。如果您发现这些有用,请提交工单以将其提升为官方功能。

附言:我不知道“将其推广为官方功能的门票”,但我会赞成任何此类请求。

上述属性是违反直觉的(即:JENKINS_JAVA_OPTIONS):

系统属性是通过传递-Dproperty=value给 java 命令行来启动 Jenkins 来定义的。确保传递所有这些参数参数-jar jenkins.war,否则它们将被忽略。

基本顺序是:

$JAVA_HOME/bin/java $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR $PARAMS


我还应该引导你去查看 Serverfault 上的相关答案:Jenkins[networking]配置参数是在安装时还是运行jenkins时要用到的?。有特定的“代码”相关选项指向不同的目录。以下是 war 的“$PARAMS”,所以来吧参数-jar jenkins.war

相关摘要如下所列,但请检查您的二进制文件以了解选项。

C:\apps\j2>java -jar jenkins-2.303.2.war  --help
Running from: C:\apps\j2\jenkins-2.303.2.war
webroot: $user.home/.jenkins
Jenkins Automation Server Engine 2.303.2

Options:
Usage: java -jar jenkins.war [--option=value] [--option=value]
   --webroot                = folder where the WAR file is expanded into. Default is ${JENKINS_HOME}/war
   --pluginroot             = folder where the plugin archives are expanded into. Default is ${JENKINS_HOME}/plugins
                              (NOTE: this option does not change the directory where the plugin archives are stored)
   --extractedFilesFolder   = folder where extracted files are to be located. Default is the temp folder
   --logfile                = redirect log messages to this file
   --javaHome               = Override the JAVA_HOME variable
   --toolsJar               = The location of tools.jar. Default is JAVA_HOME/lib/tools.jar
   --config                 = load configuration properties from here. Default is ./winstone.properties
   --commonLibFolder        = folder for additional jar files. Default is ./lib
   --extraLibFolder         = folder for additional jar files to add to Jetty classloader
   --usage / --help         = show this message

相关内容