首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jenkins构建RPM包

使用jenkins构建RPM包
EN

Stack Overflow用户
提问于 2012-06-19 15:47:09
回答 2查看 18.4K关注 0票数 4

我想使用Jenkins来创建RPM包,以便将代码和脚本部署到Linux redhat机器上,因此应用程序是多种技术(不需要编译),我只需要打包应用程序,将它们部署到正确的位置,重新启动apache。

对于一个新手来说,有没有人对如何做这些步骤有一些指导:

一些问题:

如果我要创建将部署到linux红帽子机器上的rpm (我希望在windows上安装jenkins ),我需要在本地linux机器上安装jenkins吗?如果我要在本地文件夹(暂时没有源代码控制)创建包的例子中,有谁有过用本地文件夹创建包的例子(暂时没有源代码控制),我只想指定从哪里获取代码的目录,并指定将代码部署到机器上的位置,rpm安装在目标计算机上的

  1. 上,我想运行类似yum -install mypackage-version12 12之类的程序包。rpm,它将把代码/脚本安装到指定的目录中,并重新启动apache,我还需要一个例子。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-19 15:54:12

您可以在另一台机器上安装Jenkins,但是通常必须在一台机器上安装一个Jenkins“节点”、“从”、“代理”,该机器可以生成RPM packages.

  • Running -- RPM包设置的每一步都是将所有要构建的步骤放到Jenkins中。如果您将构建系统扩展到构建RPM,并让Jenkins做它最擅长的事情,管理构建(计划等),而不是微观地管理构建(执行步骤),那么它的工作效果会更好。

根据当前作为构建系统的内容,这可能包括用于设置rpm生成树的ant指令、在.spec文件中的复制以及对rpmbuild的可执行调用。

  • Jenkins可以很容易地调用一个构建后任务来完成这个任务,或者您可能想要配置一个迷你的“假”项目来进行更新,这取决于您的口味。

另外,要让yum命令在不使用--localinstall选项的情况下工作,您需要设置一个web服务器,将新的RPM复制到web服务器上的正确文件夹,并重建索引文件(如果我记得正确的话,重新构建就是这样做的脚本)。

在客户端机器上(包将在其中安装),您需要有一个yum配置,该配置指示客户机将web服务器作为已知的yum存储库之一。

票数 2
EN

Stack Overflow用户

发布于 2021-02-08 12:20:40

为什么不使用一个码头映像来构建RPM在其内部,通过一个专门的阶段?您的代码需要提供/rpm/SPEC文件,而在Docker (Jenkins)中,您可以拥有如下所示的Jenkinsfile:

代码语言:javascript
复制
mkdir -p ./rpm/BUILD && cd ./rpm/ && for f in ./SPECS/*; do rpmbuild --define \"_topdir \$(pwd)/\" --define \"_builddir \$(pwd)/BUILD\" -bb \$f;

你就完蛋了。

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

https://stackoverflow.com/questions/11104645

复制
相关文章

相似问题

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