栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Jenkins Git参数插件无法获取标签

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins Git参数插件无法获取标签

我无法使它正常工作。已确认这是SSH问题(请参阅问题评论),并且我无权访问jenkins用户,因此无法为其创建一个

~/.ssh/config

我用另一种方式解决了它:

  • 我安装了可扩展选择参数插件
  • 参数名称:TAG_TO_BUILD
  • 选择提供者:系统Groovy选择参数
  • Groovy系统脚本

def feedUrl = 'URL_TO_PHP_script'def gettags = new URL(feedUrl).getText()def tags = []def t1 = []gettags.eachLine {tags.add(it)}for(i in tags)    t1.add(i.split()[1].replaceAll('\^\{\}','').replaceAll('refs/tags/', ''))t1 = t1.unique().sort().reverse()return t1
  • Jenkins可访问的服务器上的PHP脚本(可能是同一台服务器,但nginx与jenkins以不同的用户身份运行,并且我确实具有shell访问权限,因此可以创建
    ~/.ssh/config
    ):

<?phpexec('git ls-remote -t GIT_URL', $output);print(preg_replace('/[a-z0-9]*trefs/heads//','',implode("n", $output)));?>
  • ~/.ssh/config
    在运行Web服务器的用户帐户上:

Host    GIT_SERVER    IdentityFile    PATH_TO_SSH_PRIVATE_KEY    Identitiesonly  yes
  • 相应的SSH公钥已添加到Git服务器。

这种设置的缺点是非常笨拙。仅使用Git Parameter插件会更加优雅,但这对我来说很不幸。

对我来说,主要优点是我可以测试它的每个部分:

  1. git ls-remote
    Shell中的命令:输出SHA和标记引用。
  2. php getgittags.php
    将所有标签的列表输出到外壳。
  3. 浏览至getgittags.php并验证我是否具有相同的标签列表。
  4. 可扩展选择参数具有“立即运行脚本”按钮,允许您在保存更改之前进行测试。
  5. 最后,开始一个参数化的构建。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636597.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号