当前位置: 首页 > 知识库问答 >
问题:

Jenkins从git标签创建构建

宋康安
2023-03-14

我正在尝试配置Jenkins,以便从git的标记创建构建。所以我希望开发者创建一个标签(在任何分支中),Jenkins将负责新的构建。

我遵循了这个教程,但我没有做到,有人能帮我吗?

http://erics-notes.blogspot.nl/2013/05/jenkins-build-latest-git-tag.html

共有1个答案

阚乐湛
2023-03-14

我的任务是让詹金斯构建每个标签一次。标签可以一个接一个地推送,也可以一起推送。每次构建被触发时,主分支也应该被构建。

我也遵循了这个教程,它在一个项目中为我工作,在另一个项目中不起作用。所有詹金斯的设置都是一样的,但是在一个项目中,标签是由第三方构建工具(leiningen)设置的,并且工作正常。在另一个项目中,它们是手动设置的(git tagTAG_NAME),并且不起作用。

经过一些研究,人们发现标签必须被注释(git-tag-a tag_-NAME-m“Message”)或签名(git-tag-s tag_-NAME-m“Message”)。Leiningen内部制作签名标签。

否则,Jenkins在进行非提示过滤时会过滤掉标签。(如果您打开详细日志记录,您可以通过使用-Dhudson.plugins.git.GitSCM. verose=true选项启动jenkins,就可以看到它。在我的例子中,它过滤掉所有标签,只构建主。

通过在Jenkins workspace目录(

注释日志显示为:

tag: annotated-tag, tag: origin/tags/annotated-tag

而未注释的标记在远程引用之前缺少标记:前缀:

tag: unannotated-tag, origin/tags/unannotated-tag

希望有帮助!

 类似资料:
  • Git 可以给历史中的某一个修订版本打上标签,通常我们会使用标签来表示一个版本的发布. 操作步骤: VCS —> Git —>Tag —>弹出创建标签配置窗口 配置介绍: Git Root: 项目地址 Current Branch: 显示当前的分支 Tag Name: 标签名 Force:如果相同的tag名已经存在了,是否强制创建. Commit: 通过输入的修订版本号、tag名来打标签,如果空白

  • 问题内容: 我在让Jenkins构建指定标签方面遇到问题。标签是参数化构建的一部分,但是我不知道如何将其传递给git插件来构建该标签。我每天花了3个小时,在堆栈溢出时我输给了大师。 问题答案: 我可以通过使用“分支生成”参数来做到这一点: 用标签名称替换[tag-name]。

  • 我在让Jenkins构建特定标记时遇到问题。该标记是参数化构建的一部分,但我不知道如何将其传递给git插件来构建该标记。这花了我一天三个小时的时间,我在Stack Overflow向大师们承认了失败。

  • 问题内容: Jenkins支持参数化构建。 我有一个部署版本,要求通过参数指定要部署的标签。(将特定标签部署到生产中) 使用git插件有简单的方法吗? 我尝试添加参数TAG_NAME,然后将作业的git插件部分中的branch_specifier设置为$ TAG_NAME。不起作用。我得到: 有任何想法吗? 问题答案: 将构建参数化,然后在git URL框中输入您定义的变量的名称。例如:。这应该做

  • 问题内容: 使用git“标记”构建时,jenkins上有一个选项。 这是做什么用的,我该如何使用?我假设我可以在该版本中标记构建,但是我正在努力寻找如何推送该标记的方法-除非我可以按下该标签,否则它不会那么有用。 问题答案: 您并不总是希望推送 所有 构建标记,因为根据构建周期的不同,可能会有很多构建标记。 但是,任何任务调度程序(例如Jenkins)都将标记构建,以防您想返回到特定代码并对其进行

  • 问题内容: 对于我们的Jenkins CI服务器来说,最好在Github存储库中创建标签时自动检测,部署和构建标签。 这可能吗? 问题答案: 使用以下配置,您可以使作业构建所有标签: 使作业获取标记就像它们是分支一样:单击存储库URL下方的“高级”按钮,然后输入Refspec 使用Branch Specifier构建所有标签“分支” 启用S​​CM轮询,以便作业检测新标签。 这种方法有一个缺点:该