jenkins - 使用 jenkins groovy "checkout" 命令从 git 签出特定文件夹
问题描述
我对 jenkins 和 groovy 很陌生,我正在尝试在我的 jenkins 文件中进行稀疏检出。目前我只是这样做:
stage('Check out branch from Gitlab'){
echo 'Pulling...' + env.BRANCH_NAME
checkout scm
}
我希望从 Jenkins Groovy 脚本执行稀疏结帐,但我正在努力寻找一种好的方法。有没有办法使用“结帐”命令来做到这一点?
解决方案
您应该在此处为 GitSCM 更多信息配置一组参数
下面以一个基本配置为例:
pipeline {
agent any
stages {
stage ("Git Checkout"){
steps {
script {
checkout([
$class: 'GitSCM',
branches: [[name: "devel"]],
doGenerateSubmoduleConfigurations: false,
extensions: [[
$class: 'RelativeTargetDirectory',
relativeTargetDir: "/tmp/jenkins/devel"
]],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'jenkinsCredentialsId',
url: 'https://git.example.com/git/example'
]]
])
}
}
}
}
}
我附加了一个阶段的完整工作的 Jenkins 管道。它在 directory 上签出devel
存储库的分支。另请注意,您应该在 Jenkins Credentials (/jenkins/credentials/) 中添加(如果尚未完成)存储库的凭据,在上面的示例中位于 id 下https://git.example.com/git/example
/tmp/jenkins/devel
jenkinsCredentialsId
您可以阅读 GitSCM 的链接以了解更多可以配置的详细信息和属性。
推荐阅读
- azure - 获取 terraform 中可能的出站 IP 地址列表
- python - 如何在使用请求抓取时绕过 Google Recaptcha
- python - 使用 Google Cloud automl 中的 saved_model.pb 在 Python 中进行本地预测
- xamarin.forms - 无法在按钮单击中动态更改属性值
- flutter - flutter_webview_plugin 如何监听 url 更改为 javascript
- angular - 如何使用离子树视图 ionic 4 && angular 创建多个复选框
- android-studio - Flutter 未出现在 Android Studio 的语言和框架设置中
- jenkins - 将工作 A 的工作区 url 传递给 Jenkins 中的工作 B
- numpy - 填充和屏蔽批处理数据集
- delphi - DBRichText“Cambria Math”自动间距问题