我有一个哈德森构建服务器.源代码由git存储库管理.对于每个构建,都会检出并编译最新版本.现在我想告诉hudson不要使用最新版本,而是使用旧版本的代码(由我指定).
在哈德森,我有两个可以设置的参数.第一个"存储库名称",默认值为"origin",第二个refspec
为value +refs/heads/*:refs/remotes/origin/*
.我尝试了类似origin/[commitid]
或类似的东西+refs/heads/*:refs/remotes/origin/[commitid]
.但没有任何工作按预期.
我想我必须使用参数化作业,以便我可以将提交作为参数提供给作业.
我如何告诉hudson使用特定的提交而不是最新的提交?
izz*_*kil 57
我只想更清楚地回答这个问题.如何使您的工作一步一步检查特定的提交:
COMMIT
在我的示例中.${COMMIT}
它是作业参数的引用,将在构建期间解析.就是这样,启动构建并在日志中你会看到这样的东西:
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)
Run Code Online (Sandbox Code Playgroud)
请注意,在SCM签出之前还有其他方法可以设置环境变量,即使用EnvInject插件中的Prepare environment for the run
步骤(您甚至可以使用Groovy).
此外,如果您没有看到我正在谈论的选项或它们不起作用,请确保您有一个新版本的Git插件在我的情况下它是2.2.0.
小智 9
您可以使用jenkins-git-plugin的branch参数来定义特定的提交ID.
然后Jenkins只会检查该提交而不是分支的负责人.
小智 7
就像文档说的那样:
将您的提交ID输入到"要构建的分支"设置.
归档时间: |
|
查看次数: |
35055 次 |
最近记录: |