[英]Sparse Checkout with Jenkins DSL Plugin?
有沒有人有正確的代碼示例
configure { ... }
Jenkins DSL 插件中需要塊來設置 git 稀疏結賬?
config.xml 部分看起來像這樣:
<extensions>
<hudson.plugins.git.extensions.impl.CloneOption>
<shallow>false</shallow>
<reference>/build/jenkins/codebase.git</reference>
</hudson.plugins.git.extensions.impl.CloneOption>
<hudson.plugins.git.extensions.impl.SparseCheckoutPaths>
<sparseCheckoutPaths>
<hudson.plugins.git.extensions.impl.SparseCheckoutPath>
<path>BillOfMaterials.yml</path>
</hudson.plugins.git.extensions.impl.SparseCheckoutPath>
<hudson.plugins.git.extensions.impl.SparseCheckoutPath>
<path>jenkins/job/</path>
</hudson.plugins.git.extensions.impl.SparseCheckoutPath>
</sparseCheckoutPaths>
</hudson.plugins.git.extensions.impl.SparseCheckoutPaths>
</extensions>
job('job1') {
description 'sparse checkout example'
scm {
git {
reference('/build/jenkins/codebase.git')
configure { git ->
git / 'extensions' / 'hudson.plugins.git.extensions.impl.SparseCheckoutPaths' / 'sparseCheckoutPaths' {
['mypath1', 'mypath2', 'mypath3'].each { mypath ->
'hudson.plugins.git.extensions.impl.SparseCheckoutPath' {
path("${mypath}")
}
}
}
}
}
}
}
當前 Jenkins / Job DSL 版本允許通過指定生成多個稀疏結帳路徑
git {
remote {
url('ssh://...')
credentials('...')
}
branch('*/master')
extensions {
sparseCheckoutPaths {
sparseCheckoutPaths {
sparseCheckoutPath {
path('path1')
}
sparseCheckoutPath {
path('path2')
}
}
添加到'nbsp'給出的答案中,我必須添加以下粗體關鍵字(如果粗體不可見,則用雙星號括起來)才能使其正常工作。 希望這可以幫助某人。 :)
configure { git ->
git / 'extensions' / 'hudson.plugins.git.extensions.impl.SparseCheckoutPaths' {
**sparseCheckoutPaths {**
sparseCheckoutPath.each { checkoutPath ->
'hudson.plugins.git.extensions.impl.SparseCheckoutPath' {
path("${checkoutPath}")
}
}
**}**
}
}
這對我有用,可以使用 DSL 創建一個帶有共享庫的文件夾
folder("<your_folder_name_path>"){
properties {
folderLibraries {
libraries {
libraryConfiguration {
name("<your_shared_lib_name>")
implicit(true)
defaultVersion("<your_default_version>")
retriever {
scmSourceRetriever {
scm {
git {
credentialsId("<credentials>")
remote("<remote_url>")
traits {
cloneOptionTrait {
extension {
shallow( true )
noTags( true )
honorRefspec(true)
depth(1)
reference('')
timeout(10)
}
}
sparseCheckoutPathsTrait {
extension {
sparseCheckoutPaths {
sparseCheckoutPath {
path("<my_sparse_checkout_path>")
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.