首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >利用Jenkins的版本号获取艺术品

利用Jenkins的版本号获取艺术品
EN

Stack Overflow用户
提问于 2014-08-21 16:23:53
回答 2查看 1.5K关注 0票数 0

我正在研究一个Maven/Jenkins/Artifactory,作为CI/发布过程的一种可能的解决方案。

我在Jenkins有一份工作--叫做MYJOB --负责为Artifactory构建和部署一个工件。现在,我需要手动运行的另一项工作,它将从Artifactory复制MYJOB的特定构建的工件,并将其放在某个地方(现在不太麻烦,但最终它将是另一台服务器)。

例如,假设build #123变绿了,现在我的QA团队希望将构建的工件部署到他们的环境中进行进一步的测试(其想法是在整个测试过程中保持该构件完整不变,然后将其标记为可发布的)。我希望他们能够输入'123‘到Jenkins作为作业参数,然后开始构建。

所以,我想我需要一个使用脚本来完成这个任务的自由风格的作业。

我的问题是:如何将先前MYJOB构建的编号传递给作业,以便从工件中获得正确的工件?

(欢迎实现我的目标的其他方法:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-21 21:31:42

所以我让它起作用了。在定义了一个名为“REQ_ Build _NUMBER”的参数之后,我将以下代码放在Jenkins Freestyle构建配置的Build Step部分中:

代码语言:javascript
运行
AI代码解释
复制
SOMETHING=$(curl "http://MYARTIFACTORYLOCATION/artifactory/api/search/prop?build.number=$REQ_BUILD_NUMBER"  | jq --raw-output '.results[0].uri')
echo $SOMETHING
SOMETHING_ELSE=$(curl $SOMETHING | jq --raw-output '.downloadUri')
echo $SOMETHING_ELSE
wget -N --directory-prefix=/var/lib/jenkins/artifacts/ $SOMETHING_ELSE

(注:我几乎不擅长shell脚本编写。我相信可以用一种更好的方式来完成)

编辑:这需要为命令行安装“jq”。

票数 1
EN

Stack Overflow用户

发布于 2014-08-21 18:22:17

为第二个作业创建参数化生成。QA团队可以在开始构建时放置版本号。这个内置号可以作为一个环境变量使用,可以在脚本中访问,然后脚本可以从存储库中检索包。

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

https://stackoverflow.com/questions/25437899

复制
相关文章

相似问题

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