我如何添加默认的Scmpress自动scm触发,除了命名分支-Job DSL中的开发?
我尝试了文档 https://jenkinsci.github.io/job-dsl-
plugin/#path/multibranchPipelineJob
。没多说。似乎不被支持。
因此,我想我唯一的方法是通过configure块将自定义属性直接添加到XML。
我想要的是:
<strategy class="jenkins.branch.NamedExceptionsBranchPropertyStrategy">
<defaultProperties class="java.util.Arrays$ArrayList">
<a class="jenkins.branch.BranchProperty-array">
<jenkins.branch.NoTriggerBranchProperty/>
</a>
</defaultProperties>
<namedExceptions class="java.util.Arrays$ArrayList">
<a class="jenkins.branch.NamedExceptionsBranchPropertyStrategy$Named-array">
<jenkins.branch.NamedExceptionsBranchPropertyStrategy_-Named>
<props class="empty-list"/>
<name>development</name>
</jenkins.branch.NamedExceptionsBranchPropertyStrategy_-Named>
</a>
</namedExceptions>
</strategy>
我尝试过的
multibranchPipelineJob(jobName) {
branchSources {
git {
remote(gitRepo)
credentialsId(credentials)
includes('*')
configure {
it / "sources class='jenkins.branch.MultiBranchProject$BranchSourceList'" / 'data' / 'jenkins.branch.BranchSource' / "strategy class='jenkins.branch.DefaultBranchPropertyStrategy'" << name('development')
}
}
}
}
这很有用,但会不断崩溃http://job-dsl.herokuapp.com/
这不是很有用https://github.com/jenkinsci/job-dsl-plugin/blob/master/docs/The-
Configure-块.md
我不知道自己在做什么,文档,手册和教程根本没有帮助。
编辑:
现在我有了这个。它可以工作,有点…
我能够生成作业,但是当我尝试重新保存作业时,詹金斯抛出错误。输出XML有所不同。
multibranchPipelineJob(jobName) {
configure {
it / sources(class: 'jenkins.branch.MultiBranchProject$BranchSourceList') / 'data' / 'jenkins.branch.BranchSource' << {
source(class: 'jenkins.plugins.git.GitSCMSource') {
id(randomId)
remote(gitRepo)
credentialsId(credentials)
}
strategy(class: "jenkins.branch.NamedExceptionsBranchPropertyStrategy") {
defaultProperties(class: "java.util.Arrays\$ArrayList") {
a(class: "jenkins.branch.BranchProperty-array") {
'jenkins.branch.NoTriggerBranchProperty'()
}
}
namedExceptions(class: "java.util.Arrays\$ArrayList") {
a(class: "jenkins.branch.NamedExceptionsBranchPropertyStrategy\$Named-array") {
'jenkins.branch.NamedExceptionsBranchPropertyStrategy_-Named'() {
props(class: "empty-list")
name('development')
}
}
}
}
}
}
}
您可能已经注意到,它非常丑陋。希望将来有人会修复该插件。
因此,有效的代码如下:
UUID uuid = UUID.randomUUID()
println('Random UUID: ' + uuid)
multibranchPipelineJob('test') {
configure {
it / sources / 'data' / 'jenkins.branch.BranchSource' << {
source(class: 'jenkins.plugins.git.GitSCMSource') {
id(uuid)
remote('...')
credentialsId('...')
includes('*')
excludes('')
ignoreOnPushNotifications('false')
traits {
'jenkins.plugins.git.traits.BranchDiscoveryTrait'()
}
}
strategy(class: 'jenkins.branch.NamedExceptionsBranchPropertyStrategy') {
defaultProperties(class: 'empty-list')
namedExceptions(class: 'java.util.Arrays\$ArrayList') {
a(class: 'jenkins.branch.NamedExceptionsBranchPropertyStrategy\$Named-array') {
'jenkins.branch.NamedExceptionsBranchPropertyStrategy_-Named'() {
props(class: 'java.util.Arrays\$ArrayList') {
a(class: 'jenkins.branch.BranchProperty-array') {
'jenkins.branch.NoTriggerBranchProperty'()
}
}
name('master')
}
}
}
}
}
}
}
我有一个多分支管道。我已在Jenkins文件属性中配置触发器: 多分支管道配置为定期"扫描多分支管道触发器"。预期行为:触发器仅构建在通过jenkinsFile实际配置的构建触发器上:它触发在轮询SCM和相同提交的“重新索引”上的构建。 我们正在使用 詹金斯:2.107.1 git插件: 3.8.0 管道多分支: 2.17
我的工作有两种方式: < li >如果有人提交github repo,则触发作业。 < li >如果有人手动创建作业。 在我的管道中,我需要直接(手动)或间接(SCM提交)获取触发构建的人的姓名/信息。我有以下代码: 这让我使用https://wiki.jenkins-ci.org/display/JENKINS/Build用户Vars插件插件的名称。 这在手动模式下有效,但通过SCM触发时,总是
问题内容: 当需要使用JDBC检索新生成的密钥时,哪种方法(就插入性能而言)是在Oracle(11.2)中实现自动增量功能的最佳方法? 我知道Oracle 12中有标识列,但是我现在停留在11.2。 像许多其他人一样,我没有让JDBC getGeneratedKeys()与Oracle一起工作的运气。我最终在Oracle(11.2)数据库中获得了触发器,该触发器的行为类似于MySQL自动增量函数,
使用Jenkins多分支管道作业时,如果您在作业中选择< code > Suppress Automatic SCM trigger(抑制自动SCM触发器),它将在索引分支后停止构建作业(强大的功能)。 但是,由于某种原因,这也将扼杀从SCM事件触发构建的能力! 有没有什么方法可以阻止在分支发现(分支索引)后触发构建,但仍然通过SCM事件正常构建?
Hangfire.HttpJob.Client 组件 Install-Package Hangfire.HttpJob.Client 支持 net framework 4.5+ 支持 net standard 2.0+ 如何使用Client新增一次性运行的 job 参数是和在dashbord上手动添加一致的,关于参数的说明请参考: job 参数说明 // serverUrl是hangfire da
null