标签: build-triggers

如何在jenkins中动态触发下游构建?

我们希望在jenkins中的不同下游构建中动态触发集成测试.我们有一个参数化集成测试项目,它将测试名称作为参数.我们从git repo动态确定我们的测试名称.

我们有一个父项目,它使用jenkins-cli为源代码中的每个测试开始构建集成项目.父项目和集成项目通过匹配指纹相关联.

这种方法的问题是聚合测试结果不起作用.我认为问题是"下游"集成测试是通过jenkins-cli启动的,所以jenkins没有意识到它们是下游的.

我看了很多jenkins插件试图让这个工作.Join和Parameterized Trigger插件没有帮助,因为他们希望构建一个静态的项目列表.可用于参数化触发器的参数工厂也不起作用,因为没有工厂可以创建任意参数列表.Log Trigger插件不起作用.

Groovy Postbuild插件看起来应该可以工作,但我无法弄清楚如何从中触发构建.

triggers dynamic build-triggers jenkins

15
推荐指数
2
解决办法
2万
查看次数

Azure DevOps 管道 - 仅在另一个管道上触发,不提交

要求

因此,Azure DevOps 中有一些新功能允许管道触发其他管道,并在此处记录:https : //docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure- devops&tabs=yaml#pipeline-triggers-1听起来不错,除了我无法获得所需的行为。我想在同一个存储库中有 2 个管道:

  • 管道 A:仅由它自己的 repo 之外的多个其他管道触发,但在同一个项目中。作为被触发的结果,它对自己的回购进行了更改,因此触发了管道 B。
  • 管道 B:仅由对其自己的 repo 的更改触发,并且在触发时继续执行它需要做的任何事情

管道 A 语法

resources:
    pipelines:
    - pipeline: database
      source: database
      trigger:
        branches:
        - develop
        - release/*
        # The stages filter should work, according to: https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops&tabs=yaml
        # However, this error occurs when specifying: /azure-pipelines.yml (Line: 8, Col: 15): Stage filters in pipeline resource database is not supported.
        #stages:
        #- Build
    - pipeline: auth
      source: auth
      trigger:
        branches:
        - develop
        - release/* …
Run Code Online (Sandbox Code Playgroud)

build-triggers azure-devops azure-pipelines

6
推荐指数
1
解决办法
5814
查看次数

不要为 Azure DevOps 中已有拉取请求的分支触发构建

我们使用 Azure DevOps 进行持续集成。管道配置为每当将更改推送到功能分支时就运行构建。这是快速反馈所需要的。

此外,我们对主分支有一个政策,即在合并功能分支之前需要成功的验证构建。现在,当为功能分支创建拉取请求 (PR) 时,Azure DevOps 会自动触发相应的验证构建。

所有这些都很好,但有一个逆境:如果已经创建了 PR 并且更新了功能分支,则会触发两个构建(一个单独用于功能分支,另一个用于合并的结果,即验证构建) )。

我知道有些人可能想要两个构建,但在我们的情况下(可能在每个正常情况下),如果仅触发验证构建会更好。

问题:有没有办法告诉 Azure DevOps 它应该忽略任何已拥有 PR 的分支的分支触发器?当然,具有同等结果的解决方法也是受欢迎的。

这个问题已经作为一个问题发布在这里,但我在回复中找不到令人满意的答案(例如,分支过滤器和命名策略不能解决问题)。

continuous-integration build-triggers pull-request azure-devops

6
推荐指数
1
解决办法
1371
查看次数

有什么方法可以在更新SVN外部时触发构建?

我目前有一个项目,其中包括大量的外部,需要在外部更新时重建,以保持文物新鲜.只有在分支本身进行更改时,我无法找到在外部更改时触发svn构建的方法.

是否有TeamCity的某些功能可以执行此操作,如果没有,添加此构建触发器的最佳方法是什么?

svn teamcity build-triggers

5
推荐指数
1
解决办法
939
查看次数

如何在jenkinsfile中定义jenkins构建触发器以在其他工作之后开始构建

我想在中定义构建触发器Jenkinsfile。我知道如何为BuildDiscarderProperty执行此操作:

properties([[$class: 'jenkins.model.BuildDiscarderProperty', strategy: [$class: 'LogRotator', numToKeepStr: '50', artifactNumToKeepStr: '20']]])
Run Code Online (Sandbox Code Playgroud)

构建另一个项目后,如何设置启动作业的构建触发器。我在Java API文档中找不到合适的条目。

编辑:我的解决方案是使用以下代码:

stage('Build Agent'){
  if (env.BRANCH_NAME == 'develop') {
    try {
        // try to start subsequent job, but don't wait for it to finish
        build job: '../Agent/develop', wait: false
    } catch(Exception ex) {
        echo "An error occurred while building the agent."
    }
  }
  if (env.BRANCH_NAME == 'master') {
    // start subsequent job and wait for it to finish
    build '../Agent/master', wait: true
  }
}
Run Code Online (Sandbox Code Playgroud)

build-triggers jenkins-pipeline

5
推荐指数
1
解决办法
5572
查看次数