rpm包的制作有很多不同的方式,本文介绍的是fpm的方式
一、环境准备
1、安装ruby的组件,主要为了用gem
#yum -y install ruby rubygems ruby-devel
#gem sources -a http://mirrors.aliyun.com/rubygems/
安装制作包的工具
#gem install fpm
安装编译相关的工具
#yum install -y rpm-build
二、开始制作rpm包
1、制作包
比如php 安装在/soft/php 目录(依赖的组件自行安装,在php安装的目的机器上)
#fpm -s dir -t rpm -n php -v 7.4.1 --description 'author: ops@ethnicity.cn' /soft/php/
2、在目的服务器上安装包
安装依赖文件
#yum -y install librabbitmq-devel.x86_64 librabbitmq.x86_64 oniguruma-devel.x86_64 oniguruma.x86_64 libsqlite3x-devel wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel libevent-devel autoconf-devel autoconf ImageMagick-devel
安装包
#rpm -ivh php-7.4.1-1.x86_64.rpm
PS
fpm的高级用法可以 fpm -h查询即可
fpm -s dir -t rpm -n crd_api_prod -v 20201101145319 --description 'author: ops@xiaoma.cn' -p /data1/rpm/crd_api_prod -f --prefix /data1/work/app_prod/crd_api_prod/www -C /data1/.jenkins/workspace/crd_api_prod/
ssh 172.19.220.164 'rpm -qa |grep -w course_pc_sl_prod|xargs rpm -e; rm -rf /data1/work/web_prod/course_pc_sl_prod/dist/ ; rpm -ivh --replacefiles /data1/rpm/course_pc_sl_prod/course_pc_sl_prod-20201105140954-1.x86_64.rpm'
fpm -s dir -t rpm -n course_pc_sl_prod -v 20201105140954 --description 'author: ops@xiaoma.cn' -p /data1/rpm/course_pc_sl_prod -f --prefix /data1/work/web_prod/course_pc_sl_prod/dist/ -C /data1/.jenkins/workspace/course_pc_sl_prod/dist
fpm -s dir -t rpm -n crm_api_prod -v 20200529101358 --description 'author: ops@xiaoma.cn' -p /data1/rpm/crm_api_prod -f --prefix /data1/work/app_prod/crm_api_prod/www -C /data1/.jenkins/workspace/crm_api_prod/