Ansible基础配置
https://galaxy.ansible.com/geerlingguy/jenkins
Ansible额外配置 – Groovy Scripts
“{{ jenkins_home }}/init.groovy.d/{{ item }}”
Jenkins Seed Job – Job-DSL Groovy Scripts
- 动态API参考文档: http://<your jenkins>/plugin/job-dsl/api-viewer/index.html
- Playground: http://job-dsl.herokuapp.com/
- Deprecated NoTriggerBranchProperty for multibranchPipelineJob
- 临时configure解决方案
configure { node ->
def src = node / sources / data / 'jenkins.branch.BranchSource'
src << 'buildStrategies' {
'jenkins.branch.buildstrategies.basic.NamedBranchBuildStrategyImpl' {
filters {
'jenkins.branch.buildstrategies.basic.NamedBranchBuildStrategyImpl_-WildcardsNameFilter' {
includes("")
excludes("*")
caseSensitive(false)
}
}
}
}
}
Global Shared Libraries – Groovy Scripts
- http://<your jenkins>/pipeline-syntax/
Jenkinsfile – Groovy Scripts
- @Library(‘PipelineSharedLib@master’) _
Perforce双Client Checkout解决方案
确保两个client的名称不同:
- pipelineJob / definition / cpsScm / scm / perforce / workspace / streamSpec with pipelineJob / definition / cpsScm / lightweight and scriptPath
- checkout() in Jenkinsfile
并从scm中提取相关信息:
checkout([
$class: 'PerforceScm',
credential: scm.credential,
workspace: new StreamWorkspaceImpl(
'none', // charset
false, // pinHost
scm.workspace.streamName, // streamName
"jenkins-${NODE_NAME}-${JOB_NAME}-${EXECUTOR_NUMBER}" // format
),
populate: scm.populate
])