我正在努力使用Jenkins 2.1多分支管道,在这里,我从同一个git存储库构建了多个工件。一些工件是独立的,应该根据它们各自目录中的更改触发构建。有些是依赖的,应该由先前的步骤/构建触发。
存储库有一个控制整个管道的文件。Jenkins多分支管道作业会在所有更改时触发(无其他行为)。
我不知道如何在目录dirA发生变化时触发工件A的构建。
git回购协议中的Jenkins文件file:///repopath看起来像这样:
node(){
stage 'Build A'
checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'PathRestriction',
excludedRegions: '.*',
includedRegions: 'dirA/.*'],
[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'sub']],
submoduleCfg: [],
userRemoteConfigs: [[url: 'file:///repopath']]])
sh './buildA.sh'
}
node(){
stage 'Build B'
...
}
...
这将始终触发buildA的运行。上海:-(
我使用下面的插件:
不如就做些像
git log --pretty=format: --name-only -n 15 | sort | uniq
?? 如果您可以确定一个构建中的提交数量或它们的哈希值,这将回答您的问题。
对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应
Jenkins多分支管道总是在主节点上执行签出。在我的例子中,我想在另一个节点上构建。我在Jenkinsfile中的脚本如下所示: 我被迫结账再次在我的节点上分支以执行构建。从头开始在选定的节点上执行管道构建会好得多,但我找不到如何做到这一点。
当前,当点击第一阶段时,声明性管道将自动执行 我只想在子目录中签出scm。(因此它不会在根目录中签出相同的内容) 因为它需要jenkinsfile它已经结账一次。加目录
美好的一天, 我尝试在新的Jenkins实例上设置多分支管道,在扫描多分支管道日志中遇到了以下错误: 没有这样的文件:E:\Continuous Integration\Jenkins\jobs\Enhanced API\indexing\indexing.log 根据jenkins.err.log,我遇到了一个 这个Jenkins的版本是2.85,带有以下版本的Git插件: Git客户端插件-2
我对使用Jenkins文件和GIT插件的Jenkins多分支pipleline有一个问题。 问题是,每次向暂存分支推送都会触发master管道。所需的行为是,推送到暂存分支仅触发用于暂存的管道,而推送到主分支仅触发主管道 这是我的詹金斯档案 我将分享一些日志:这是主分支的日志 这是主分支的日志,但只有暂存有一个新的提交: 注意“已发现更改”,即使主分支上的头未更改 詹金斯·弗。2.190.1 Gi
我遇到了JENKINS-38706。由于它已经开放了一段时间,我正在努力解决这个问题。 我的问题是我正在运行一个多节点管道,其中一个节点是Windows从节点,具有255个字符路径限制。 因此,我正在尝试更改我的Windows从属阶段的工作区,而不是使用多分支管道使用的C:\jenkins\workspace\job-分支-随机字符,我正在尝试将其移动到c:\w\Jobs\分支。 它立即失效: 我