jenkins - 如何创建一个无法直接调用而只能从另一个作业调用的 "private"Jenkins 作业?

标签 jenkins jenkins-workflow

Jenkins 允许作业链接 - 一项作业调用另一项作业。我们可以在在其他项目上构建的触发器/调用部分中配置它。

是否可以创建一个“私有(private)”Jenkins 作业,该作业只能从另一个作业中调用,而不能直接调用?

用例是为了避免用户错误地启动内部作业,该作业被提到用作作业链中的步骤之一。所有用户都是可信的,这是为了防止错误。

最佳答案

添加到下游/ protected 作业的开头。 请注意,如果您在沙箱中运行脚本,这需要大约 3 个批准。

if (currentBuild.rawBuild.getCause(hudson.model.Cause$UpstreamCause) == null) {
    throw new SecurityException("can be only triggered from upstream")
}

了解更多信息the example I've based onthe actual Cause class .

关于jenkins - 如何创建一个无法直接调用而只能从另一个作业调用的 "private"Jenkins 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41636692/

相关文章:

Jenkins - 如何使用 Jenkinsfile 加载的 groovy 文件中定义的属性

ios - 如何在jenkins中手动添加工件?

jenkins - 如何使用 Jenkins WorkFlow 创建具有多个管道的复杂值(value)流

jenkins - 开始同步运行 Jenkins 作业

jenkins - 通过 java -jar jenkins.war --version 获取 Jenkins 版本,没有垃圾邮件输出

node.js - 使用 Jenkins 运行 Protractor 测试抛出 "Test ` title` 应该是 "string"但给出的是 "function"而不是 .'"

groovy - 如何从 Jenkins 工作流程调用 REST

git - 如何使用 Jenkins DSL 插件创建多分支项目?

java - Jenkins 似乎无法构建 java Artifact 。更多信息包含在 github gist [Pastebin] 中

docker - 使用Nginx作为使用Docker的Jenkins代理