我正在尝试设置各种Jenkins管道,其最后阶段总是运行一些验收测试。长话短说,所有产品的验收测试和测试数据(其中大部分是共享的)都被检查到同一个存储库中,该存储库的大小约为0.5 GB。因此,似乎最好为验收测试设置一个单独的作业,并通过每个管道的“构建”步骤触发它,并提供适当的参数来运行相关测试。(有时在不重建产品的情况下重新运行这些测试也很有用)
stage('AcceptanceTest') {
steps {
build job: 'run-tests', parameters: ..., wait: true
}
}
到目前为止,我发现我可以:
有没有更好的办法?
相关问题:Jenkis——在同一台机器中触发另一个管道作业——而不创建新的“执行器”
我不认为有其他方法可以实现声明式管道。
另一方面,对于脚本化管道,您可以在node{}
之外执行此操作,它只会保留主节点上的一个执行器,释放从节点上的一个执行器。
stage("some") {
build job: 'test'
node {
...
我似乎已经解决了这个问题,在主管道的顶部添加了“agent none”,并将“agent{label'master'}”移动到构建阶段。然后,我可以在没有代理的情况下离开“AcceptanceTest”阶段,并像以前一样在“run tests”作业中定义它。我从文件中得到的印象是,如果你把代理人分为几个阶段,那么所有阶段都需要一个,但事实似乎并非如此。对于这个用例来说很幸运。。。
问题内容: 我将Groovy脚本作为Jenkins中Pipeline工作的一部分,如下所示: 由于将标记设置为,因此它并行执行多个其他自由式作业。但是,我希望所有作业完成后才能完成呼叫者作业。目前,Pipeline作业会触发所有作业并在几秒钟后自行完成,这不是我想要的,因为我无法跟踪总时间,而且我无法一次取消所有已触发的作业。 当并行完成所有作业时,如何纠正上述脚本以完成管道作业? 我试图将构建作
我想做类似的事情——从触发器管道中调用“some_job_pipeline”,它将由参数控制器在同一个或某个特定的Jenkins节点上执行。如果是,则应在同一个/主/父作业jenkins节点上执行-不应创建新的“执行器”。如果我将“Node1”节点执行器计数设置为1,作业将成功运行(不需要第二个执行器)。 在这个例子中,我有一个Trigger_Main_Job,看起来像这样: 还有一些类似这样的管
詹金斯不会执行任何工作。查看了这个问题后,我禁用了所有从属节点,但一个简单的作业甚至不会在主节点上运行。 怎么了?
是否可以从另一个作业触发Jenkins多分支管道的立即扫描操作?我在将旧版本的Gitlab与Jenkins中的管道作业集成时遇到了某些问题,并遇到了这样的解决方法。 或者,现在可以使用notifyCommit web钩子触发扫描多分支管道吗? 这样做的目的是每当Git存储库中发生更改时扫描多分支管道,以便在这样的更改后检测到新的分支。另一个我无法以其他方式实现的目的(除了对我来说非常邪恶的每个分支
问题内容: 如何从内部触发另一个作业的生成? 我假设这项工作是同一个github组织下的另一个存储库,该存储库已经有自己的Jenkins文件。 我也只想在分支名称为master时执行此操作,因为触发任何本地分支的下游构建都没有意义。 更新: 不过,执行时我还是报错 找不到名为some-downtream-job-name的参数化作业 我确定这项工作存在于jenkins中,并且与当前工作位于同一组织
我有一个Jenkins管道作业,它需要监控另一个Jerkins作业(比如JobA)当前构建,并在当前管道阶段发布状态(构建状态:成功或失败)。如何实现这一点。不会从管道作业触发作业(JobA)。它将独立运行。从管道作业中,需要获取作业A的状态。