rpm自动化打包工具

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

内容简介:运维开发团队为了能够让开发人员方便快捷的安装开发依赖包,以提高开发人员的开发效率。特意为开发人员提供了一款可以自助制作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自动化打包工具》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

HTML & XHTML

HTML & XHTML

Chuck Musciano、Bill Kennedy / O'Reilly Media / 2006-10-27 / GBP 39.99

"...lucid, in-depth descriptions of the behavior of every HTML tag on every major browser and platform, plus enough dry humor to make the book a pleasure to read." --Edward Mendelson, PC Magazine "Whe......一起来看看 《HTML & XHTML》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换