Jenkins上的动态推--tag

时间:2019-07-29 16:00:16

标签: git jenkins npm git-push git-tag

很抱歉打扰,因为我在这个主题上还很新,正在学习。

我想为客户运行Jenkins版本,但遇到了问题。我正准备创建一个工作来创建Angular Application的标签。

我使用npm-version创建凹凸的版本以及git的标签。它应该可以工作,但是我仍然必须创建一个git push。

如果在构建时在外壳中使用git push --tags,则出现此错误:

It's the error I'm getting I'm not allowed to show pictures here

所以我尝试了:

git push && git push --tags

它不起作用,因为它要求我提供凭据。

我在寻找什么:

  • 按一下我在构建参数中指定的远程分支的凹凸版本

  • 推送在远程创建的标签

所以,我要么需要:

  • 找到一种方法将我的git的凭据放入shell脚本中
  • 找到一种使用Git public进行推送的标签以及我最初在参数中拥有分支的方法。

我在几页上遇到了StackOverflow,我告诉我可以用一个命令完成所有操作,但是由于我很愚蠢,我没有保存链接,而且很奇怪,我找不到它。

如果你们能帮助我找到解决方案,将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用Git进行无人值守推送有几种选择:

  • 使用SSH代替HTTP(S)-这是首选的解决方案
  • 使用用户名/密码增强远程网址,例如git push --tags https://<username>:<password>@hostname.com。注意:如果密码最终出现在构建日志中,或者直接在构建参数中指定,则会带来一定的安全风险。
  • (在Jenkins中)在一个单独的步骤中重复使用为克隆指定的密码,请参见此处的示例:https://issues.jenkins-ci.org/browse/JENKINS-28335?focusedCommentId=269000&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel
  • 将凭据存储在凭据帮助器中(因为它与Jenkins内置的Git克隆功能混为一谈,因此您需要先执行此操作,然后再执行git操作,然后还原它;例如git config credentials.helper 'store --file ./.my-credentials',{{ 1}})。有关密码登录危险的信息,请参见前面的说明。另外,您还需要确保在每次构建后都删除工作空间,否则您的凭据将位于构建服务器的纯文本上。如果需要注入自定义逻辑,请参见此处,以创建自己的凭证帮助程序脚本的示例:https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage#_a_custom_credential_cache