【问题标题】:Jenkins: Pass variable in JS fileJenkins:在 JS 文件中传递变量
【发布时间】:2017-11-10 08:36:55
【问题描述】:

嘿,我正在尝试将一些信息传递给 JS 文件。 案例:

我的目标是使用 Grafana 构建仪表板,而不是脚本仪表板。 该脚本工作正常,现在我想为脚本添加一个主机名。 主机名应该在 buildjob 之后硬编码在文件中。

PS:我是 Jenkins 和 JS 的新手,所以我愿意接受你的所有想法!

祝你有美好的一天!

PPS:明天是周末!

【问题讨论】:

  • 有很多方法可以做到这一点,您可以设置一个全局变量(wiki.jenkins.io/display/JENKINS/EnvInject+Plugin),我认为这是最好的方法,或者您可以大致 grep 文件系统中的 xml 构建文件并获取值你正在寻找..这有帮助吗?
  • @ivoruJavaBoy 我实际上可以通过 URL 执行此操作。 (脚本可以通过 URL 获取主机名)。我想为每个服务器创建几个 js 文件。因此,当我创建一个 xml 时,我必须在每次构建新仪表板时配置 xml,并且我必须触摸每个脚本来说出它应该 grep 的名称 ..
  • 那么您的 Jenkins 工作已经能够从 url 获取信息了吗?在这种情况下,两种方式都适合,您可以将其作为 env var 注入并从 js 脚本中读取,或者您可以调用一个子作业,该子作业将从上一个作业中获取值,并在您想要的任何地方注入......我理解吗对吗?
  • 早安@ivoruJavaBoy!我在周末打破了我的头,我没有弄清楚这是如何工作的:D。最后但同样重要的是,我必须编写一个 java 程序,它可以将脚本与主机名结合起来。不过谢谢你的帮助!
  • 很抱歉它没有帮助 :( 老实说,我曾经用 Jenkins 找出这些技巧,所以如果您有任何进一步的问题,请尝试询问,我也许可以帮助您...希望您能找到解决方案!

标签: javascript jenkins jenkins-plugins monitoring grafana


【解决方案1】:

您能否通过 Jenkins 获得价值?例如(作为参数或直接从文件系统获取)一旦完成,您可以将其注入环境变量并在任何类型的脚本中使用:

https://wiki.jenkins.io/display/JENKINS/EnvInject+Plugin

我不确定作业的流程,但您也可以创建一个在文件系统上查找 TRIGGERED JOB 的构建后脚本

https://wiki.jenkins.io/display/JENKINS/Parameterized+Trigger+Plugin

上面的插件非常有用,因为它设置了一些非常有用的 Jenkins 变量。

【讨论】:

  • 我想在 Jenkins Job 中传递“主机名”。变量应该在 js 文件中初始化“主机名变量”。我知道..这是一个棘手的问题..跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-29
  • 2010-11-18
  • 2018-03-17
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
相关资源
最近更新 更多