git - Jenkins - 我如何将当前分支作为我的流水线脚本的一部分签出?
问题描述
我目前有一个从 GitHub 触发的 Jenkins 工作。
如何使用 Jenkins Pipelines 检查触发 Jenkins 作业的分支?
我一直在尝试使用类似的东西:
checkout([$class: 'GitSCM',
branches: [[name: env.BRANCH_NAME]],
doGenerateSubmoduleConfigurations:
false, extensions: [[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'mytargetdirectory']], userRemoteConfigs: [[credentialsId: 'id-123',
url: 'https://github.com/my/repourl']]])
在上面的示例中,env.BRANCH_NAME 被评估为 null。
但是,我不确定branches
检查触发作业的分支的值应该是什么。
来自 GitHub 的有效负载包含:
"ref": "refs/heads/branchname",
有没有办法从有效负载中提取此信息以获取分支名称?
对此的任何帮助将不胜感激!
解决方案
尝试使用 GIT_BRANCH 而不是 BRANCH_NAME
推荐阅读
- android - 光标随机跳过?
- c# - protobuff-net 保存/加载静态字段
- python - 为什么程序在 Spyder 中运行时可以找到 Pandas,而在 R studio 中却找不到?
- python - 循环遍历熊猫数据框
- microsoft-cognitive - 由于订阅密钥无效或 API 端点错误而拒绝访问(认知服务自定义视觉)
- html - 如何在 Jquery 中选择同一类中悬停的一个
- angular - 在模板 ngIf 中将 unix 字符串转换为日期
- http - 使用 fetch 发送和接收文本/纯文本的正确方法
- windows - 一个一个地压缩和删除多个文件夹
- c# - 实体框架代码优先迁移不生成外键并忽略 ForeignKey 数据注释