当前位置: 首页 > 面试题库 >

Jenkins计划的构建触发器是否具有环境变量?

齐浩淼
2023-03-14
问题内容

我想用jenkins中的环境变量定期构建:

#pseudo setting
H 17 * * * BUILD_FOR=gist-mail TOKEN_GIST_MAIL=some_token
H 17 * * * BUILD_FOR=pollyanna TOKEN_POLLYANNA=anothor_token
H 17 * * * BUILD_FOR=fenix-knight TOKEN_FENIX_KNIGHT=alternative_token

这些变量不会动态更改(预先给定)。

我在下面看到一个错误:

Invalid input: "10 17 * * * BUILD_FOR=fenix-knight": line 1:12: expecting EOF, found ' '

如何将不同的环境变量传递给每个构建触发器?我的工作是创造每个工作。

我正在执行的shell如下:

gem install bundler
ruby -i -pe '$_.gsub! /^ruby/, "#ruby"' Gemfile
bundle
BUILD_FOR=fenix-knight bundle exec rake tachikoma:load tachikoma:fetch tachikoma:bundle tachikoma:pull_request

问题答案:

有一个针对您情况的参数化构建插件Jenkins-触发参数化构建可以很好地演示如何使用它,还有一个插件可以显示输入其中的参数。

您还可以查看multijob插件https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin以使用单独的参数运行一项基础作业



 类似资料:
  • 问题内容: 我当时在考虑在我的Jenkins构建工作中使用Groovy脚本,因为我有一些条件要检查,可能需要访问Jenkins API。 是否有可能从Groovy脚本中找出触发构建的人员或原因?SCM更改,另一个项目或用户。我刚刚开始阅读有关Groovy和Jenkins API的文章。 我想检查以下条件并相应地构建。一些伪代码: 该项目应建立在每一个SCM更改的基础上,但是只有在版本增加的情况下才

  • 我在考虑在Jenkins中使用Groovy脚本进行构建工作,因为我有一些条件需要检查是否需要访问JenkinsAPI。 是否有可能从Groovy脚本中找出谁或什么触发了构建?SCM更改、另一个项目或用户。我刚刚开始阅读一些关于Groovy和JenkinsAPI的内容。 我想检查以下条件并相应地构建。一些伪代码: 项目应基于每个SCM更改,但仅在版本增加时标记和发布。当一个构建被另一个项目触发时,它

  • 问题内容: 我为作业配置了两个构建触发器(轮询SCM和FStrigger- MonitorFiles),比如说轮询计划为每日轮询(@daily),现在,如果轮询SCM检测到更改或FStrigger- MonitorFiles这样做是正常行为,则触发构建。 但是,如果两个都检测到更改,则每次触发器尝试触发构建时都会触发两次构建,那么我该如何实现每天将上述两个触发器的结果组合在一起并且仅触发/不触发一

  • 问题内容: 我目前在“开发”框中安装了Jenkins实例。这样可以很好地构建并且可以毫无问题地部署到我们的开发环境中。 在构建过程中,我的项目使用了一个包含诸如数据库连接URL之类的详细信息的属性文件(诸如此类的详细信息显然会因我所指向的环境而异)。 我想知道的是配置项目的最佳方法是什么,以便当我想将Jenkins构建的WAR文件发布到Production中时,它包含Production属性而不是

  • 问题内容: Jenkins(管理jenkins->系统信息)下的环境变量从何而来? 我检查了/etc/init.d/tomcat5,/ usr / bin / dtomcat5,/ usr / bin / tomcat5,/ etc / sysconfig / tomcat5和/ etc / profile,但在那里没有看到任何此类变量,特别是与Oracle相关的变量(Base,Home,Ld_l

  • 这个码头商。yml: 使用这个。env文件(它位于根文件夹中,如docker-compose.yml和Dockerfile): 和节点服务器启动中的以下代码: 我真的更喜欢使用第一种或第二种方法 docker版本:18.06.1-CE docker-compose版本:1.19.0