rpm自动化打包工具

栏目: 服务器 · 发布时间: 5年前

内容简介:运维开发团队为了能够让开发人员方便快捷的安装开发依赖包,以提高开发人员的开发效率。特意为开发人员提供了一款可以自助制作rpm包的全自动打包工具。利用该自助打包工具,开发人员可以在最短的时间内随心所欲的制作出满足特定需求rpm包。安装软件的方式大致可以分为三种。编译安装软件、yum安装软件和通过编译源码定制rpm包。编译安装软件,可以定制化安装目录、按需开启功能等,但是需要查找并实验出适合的编译参数,耗时较长。yum安装软件,实现全自动安装,不需要为依赖问题发愁,但是自主性太差,软件的功能、存放位置不易变更

运维开发团队为了能够让开发人员方便快捷的安装开发依赖包,以提高开发人员的开发效率。特意为开发人员提供了一款可以自助制作rpm包的全自动打包工具。利用该自助打包工具,开发人员可以在最短的时间内随心所欲的制作出满足特定需求rpm包。

背景与需求

安装软件的方式大致可以分为三种。编译安装软件、yum安装软件和通过编译源码定制rpm包。编译安装软件,可以定制化安装目录、按需开启功能等,但是需要查找并实验出适合的编译参数,耗时较长。yum安装软件,实现全自动安装,不需要为依赖问题发愁,但是自主性太差,软件的功能、存放位置不易变更。编译源码,根据自己的需求定制rpm包,然后搭建内网yum仓库,利用yum安装,结合了前两种方法的优点,避免了各自的缺点,是中大型互联网企业自动化运维的必要技能。因此提供一款简单、快捷的rpm自助打包 工具 成为运维开发组的的一个重要的okr。

RPM自助打包工具简介

rpm自助打包工具。是一种将用户提供的文件和执行脚本转化为rpm包的打包工具。提供了文件的分发和脚本的自动执行功能。是一种基于fpm工具而制作的一个网站系统。打包网址: http://autorpmbuild.aiops.qihoo.net/

工作原理

rpm自动化打包工具充分利用了S3存储和fpm工具的优势。首先将制作的文件夹通过S3上传至S3存储,在服务端利用S3下载到本地。其次通过http协议将rpm包的基本信息上传到服务端,服务端将信息进行分析和组合,为fpm工具提供参数信息。最后通过fpm工具形成rpm包。fpm工具详解可以参考: https://github.com/jordansissel/fpm rpm自动化打包工具

核心功能特性

源文件上传工具-wshell

用户需在配置好的样板机上安装使用,可以方便灵活的打包文件并上传备份至hulk对象存储,减轻用户维护成本。

Step01 - 工具安装

yum install addops-auto-wshell

Step02 - 按照源文件结构规范制作src文件夹

rpm自动化打包工具

src文件夹规范详见wiki: http://wiki.add.corp.qihoo.net/pages/viewpage.action?pageId=6500791

Step03 - 使用wshell制作src压缩包

wshell build name-version-release

例:wshell build pika30-3.0.2-1

Step04 - 使用wshell上传src压缩包

wshell put name-version-release

例:wshell put pika30-3.0.2-1.tar.gz

rpm自助打包平台

rpm自助打包平台提供了制作rpm包所需的基本信息。包括基本选项如版本号、打包人、rpm包基本信息描述和高级选项如安装前执行脚本、安装后执行脚本、卸载前执行脚本和卸载后执行脚本。

rpm自动化打包工具

Step01 - 填写rpm metadata

rpm自动化打包工具

按需填写完信息后点击“提交”,开始构建rpm

Step02 - rpm构建进度查询

当rpm包还在制作中时,显示

rpm building..

当rpm包制作完成时,显示

addops-auto-xxx-version-release.x86_64.rpm has been packaged,please test!!!。

Step03 - rpm包测试

当rpm包制作完成时,页面显示rpm测试包的安装地址:

rpm –i http://k2198v.add.bjyt.qihoo.net:80/+包名。  

Step04 - 发布上线

将rpm包发布到yum源中

Q&A

Q: 通过这个平台可以同时做 CentOS 6 和 CentOS 7 的 rpm 包吗?

A: 可以的,目前我们支持 el6 和 el7 两个操作系统版本的自助打包需求,平台左上角显示当前制作 rpm 包的适用操作系统版本。点击该区域即可进行切换。

Q: 为什么要添加 addops-auto- 这个前缀?

A: 由于目前yum源中已经大量存在以 addops 为前缀的rpm包,出于避免用户自助制作的 rpm 包与 addops yum 源中的 rpm 包冲突,我们会在用户自定义制作的 rpm 包增加 addops-auto- 前缀。

Q: 为什么利用 yum 安装时检测不到最新打的包?

A: 由于 yum 工具安装时会有缓存存在的现象,为了不影响新包的安装,可以在安装新包之前清除 yum 缓存,方法为 yum clean all。

Q: 安装过程中与以 addops- 为前缀的同名包冲突怎么办?

A: 这是由于当前主机中已经安装了相同包名的 rpm 包,需要将以 addops- 为前缀的包删除之后再重新安装以 addops-auto- 为前缀的 rpm 包。高级用户还可以在安装前的执行脚本中加入卸载以 addops- 为前缀的包的 shell 命令完成上述操作。

总结与展望

rpm自动化工具在很大程度上改变了之前延续的打包方法,使得打包更小白化,每一位没有接触过打包的 程序员 都可以在很短的时间内实现rpm包的定制。目前该系统支持多个用户的源码包备份、并发打包和进度查询,但是源码包的制作还不是很友好,随着用户量的增大,未来将优化源码包的制作工具,提高打包效率。

参考文档

http://wiki.add.corp.qihoo.net/pages/viewpage.action?pageId=6499917

http://easydoc.qihoo.net/doc?project=1d1b49835cbb989968925b2553243a0a&config=title_menu_toc

http://wiki.add.corp.qihoo.net/pages/viewpage.action?pageId=6500791

https://github.com/jordansissel/fpm


以上所述就是小编给大家介绍的《rpm自动化打包工具》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

跟小贤学运营

跟小贤学运营

陈维贤 / 机械工业出版社 / 2016-12-9 / 69.00

这是一部能帮助运营新人快速构建互联网运营方法论和快速掌握互联网运营实操的著作,是小贤在百度贴吧和小红书成长经历和运营经验的复盘。书中包含5大运营主题、40余种运营工具和渠道、50余种运营方法和技巧、100余个真实接地气的运营案例,能迅速帮助运营新人掌握全套实操技能和构建完整运营体系。 本书的视角和知识体系都比较立体化: 既有百度这样的互联网巨头运营规范和思路,又有小红书这样的明星创业公......一起来看看 《跟小贤学运营》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码