fpm安装与打包

fpm相比其他打包工具,它的优势在于能在一个系统平台上打包出适合各个系统平台的安装包。不需要说centos用rpm-build打包rpm,ubuntu用dept打包安装包。

安装fpm

yum install ruby-devel gcc make rpm-build rubygems
#替换成国内源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem install --no-ri --no-rdoc fpm
fpm --version

fpm 打包python3.7 virtualenv

fpm打包时默认会从系统拿默认的python来打包,即使进行虚拟环境也一样。但是我们需要用python3。
所以首先把系统默认的python改为3.7

cp /usr/bin/python3.7 /usr/bin/python
cp /usr/bin/pip3.7 /usr/bin/pip3.7

因为打包virtualenv需要virtual-tools==1.0,但是1.0的virtual-tools在python3中并不兼容。

pkg_resources.DistributionNotFound: The 'virtual-tools==1.0' distribution was not found and is required by the application

所以先用pip3.7安装virtual-tools3

pip install virtualenv-tools3

然后拷贝执行文件到目录备份

cp /usr/local/python37/lib/python3.7/site-packages/virtualenv_tools.py ~

再重新装virtual-tools==1.0

pip uninstall virtualenv-tools3
pip install virtualenv-tools==1.0

拷贝脚本覆盖

cp ~/virtualenv_tools.py /usr/local/python37/lib/python3.7/site-packages/virtualenv_tools.py

fpm 打包目录

fpm -t rpm -s dir -f -m [email protected] --name jAgent --version 0.1.stable --prefix /data/devops -x logs -x .git -C /data/devops/ jAgent

你可能感兴趣的:(linux,fpm,打包)