首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Hudson构建特定的git提交

使用Hudson构建特定的git提交
EN

Stack Overflow用户
提问于 2010-11-18 01:46:16
回答 7查看 35.9K关注 0票数 36

我有一台hudson build服务器。源代码由git存储库管理。对于每个构建,都会签出并编译最新版本。现在我想告诉hudson不要使用最新版本的代码,而是使用旧版本的代码(由我指定)。

在hudson中,我有两个参数可以设置。第一个“仓库名称”,默认值为"origin“,第二个refspec的值为+refs/heads/*:refs/remotes/origin/*。我尝试了一些像origin/[commitid]+refs/heads/*:refs/remotes/origin/[commitid]这样的东西。但是,没有一件事情像预期的那样工作。

我想我必须使用参数化的作业,这样我才能将提交作为参数提供给作业。

我如何告诉hudson使用特定的提交而不是最新的提交?

EN

回答 7

Stack Overflow用户

发布于 2014-04-11 22:35:41

我只想让this回答得更清楚。如何让你的工作一步一步地签出一个特定的提交:

使用名称将字符串参数添加到作业中,使其在my example.

  • Choose Git as

  • 中为COMMIT (由example.

  • Choose Git SCM属性提供在段落分支中设置您的存储库properties.

  • In Git SCM,以构建类型${COMMIT},它是对作业参数的引用,将在构建过程中解析。

就是这样,启动构建,在日志中您将看到类似如下的内容:

代码语言:javascript
复制
Cloning the remote Git repository
Cloning repository ssh://your-repo.git
Fetching upstream changes from ssh://your-repo.git
using GIT_SSH to set credentials 
Fetching upstream changes from ssh://your-repo.git
using GIT_SSH to set credentials 
Checking out Revision af63e2102b65953316e512c0bb659578bb143a33 (detached)

请注意,还有其他方法可以在SCM签出之前设置环境变量,例如,使用EnvInject Plugin中的Prepare environment for the run步骤(您甚至可以使用Groovy来完成此操作)。

另外,如果你没有看到我所说的选项,或者它们不起作用,请确保你有一个新版本的Git插件,在我的例子中是2.2.0。

票数 57
EN

Stack Overflow用户

发布于 2014-02-28 22:33:19

您可以使用jenkins-git-plugin的分支参数来定义特定的提交id。

然后,Jenkins将只签出该提交,而不是分支的头部。

票数 9
EN

Stack Overflow用户

发布于 2016-05-06 10:01:25

就像文档上说的:

在“要构建的分支”设置中输入您的提交id。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4207450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档