用.net core开发了web应用,但是每次发布到liunx都是通过ftp,而且没有版本管理,给甲方部署也十分麻烦,因此想着把程序发布为rpm包,可以通过yum下载安装。
1.发布rpm包
1.1 yum -y install rpm-build ,此时得到文件结构包括:
rpmbuild/ ├── BUILD # 发布时解压的位置 ├── BUILDROOT ├── RPMS # 发布后的rpm包位置 ├── SOURCES # 源码,或者压缩包位置 ├── SPECS # spec文件位置 └── SRPMS
1.2 在SPECS中建立spec文件:vi xxxx.spec
1.3 spec文件是整个rpm包编译,安装前,安装,安装后的动作,具体内容:
Name: bigdata Version: 1.0.0 Release: 1 Summary: bigdata platform License: GPL URL: www.chenpoop.top Packager: chen Source0: %{name}-%{version}.tar.gz BuildRoot: %_topdir/BUILDROOT #这个是软件make install 的测试安装目录. #编译时需要的依赖;运行时需要的依赖 #BuildRequires: #Requires:mysql8.0,postgres10,redis3.2 # 描述 %description 大数据平台 # 打包开始 %prep # 安装前的操作 %setup -q # 编辑制作 %build # 安装 %install rm -rf %{buildroot} #先删除原来的安装的,如果你不是第一次安装的话 mkdir %_topdir/%{name}-%{version} install -d %_topdir/%{name}-%{version} $RPM_BUILD_ROOT # install -m 755 %_topdir/BUILD/%{name}-%{version} $RPM_BUILD_ROOT #将需要需要打包的文件从BUILD 文件夹中拷贝到BUILDROOT文件夹下。 # 安装前执行的脚本 %pre
其中每个字段的含义可以看参考中的文章
1.4 通过rpmbuild 来打包rpm:rpmbuild -ba xxx.spec
1.5 同时也通过该语句查看错误信息,我就是把.tar解压在打包成rpm
https://www.cnblogs.com/dyh004/p/10370709.html
https://www.cnblogs.com/huowenjie/p/13467750.html