您的位置:首页 > 产品设计 > 产品经理

工作技术小结-RPM制作和Jmeter+SSL

2012-01-01 21:47 381 查看
最近项目发布包要求用rpm制作,为了适应马上要执行的自动化部署要求。RPM build是专门为了制作rpm的工具,使用也很简单,基本上按要求写好spec,然后运行rpmbuild –bb *.spec即可制作好rpm, 存放在/usr/src/redhat/RPMS/$platform/packagename-$version-$release.$platform.rpm。spec文件举例如下:
Summary:
Name: slimg2jc
Version: 1.2
Release: 2011
License:
Group:
BuildRoot: /tmp/slimbuild/rpmsrc
%define slimversion_previous 6.16

%description

%prep

%build

%install

%check

%files
/a/b
/c/d


%defattr(-,root,root)
%doc %attr(0444,root,root)

%pre

%post

%postun

简单介绍这些参数:
Summary: 包的简介
Name: 包名
Version: 包版本号
Release: 发布号
License: 许可类型
Group: 发布组
BuildRoot: 包文件目录的虚拟根目录对应目录,在build服务器可以基于此目录布局包目录
%define var1 val1 定义变量var1值为val1。并且此变量和Name,Version, Release等一样是用%{var1}来引用。而shell里的变量还是${var2}来引用。
%description:包说明
%prep:准备配置,跟autoconf/make结合使用。
%build:编译包应用程序,跟autoconf/make结合使用。
%install:生成包应用程序到对应目录,跟autoconf/make结合使用。
%check:测试应用程序,跟autoconf/make结合使用。
%files:包目录结果,目录代表其下所有文件,可以包含%doc, %attr, %conf,%exclude来灵活定义包目录结构
%defattr(-,root,root):定义包默认宿主为root组,root用户,权限模式为umask定义(也可以用0777等模式值显式指定)。
%pre: 安装前运行的脚本
%post:安装后运行的脚本
%postun:卸载后运行的脚本
%preun: 卸载前运行的脚本

另外,所有4种shell里可以获得$1系统变量,该值在安装时为0,卸载时为1,升级时为2。
网络上说preun会在升级安装时得到执行,postun在升级安装不会执行。根据个人实践,postun会在升级安装时执行,比如1.1升级到1.2,1.1的postun定义会得到执行。并且升级的执行顺序还是1.2的安装,1.1的卸载。所以1.1的postun最后执行。记住:$1和un/ins都是相对的。比如1.1升级到1.2,对于1.1的rpm shell来说就是卸载。

补充几个有用的命令来实现包的管理:
#rpm –ev –repackage Package1(卸载包并且备份包到/var/spool/repackage/package1.rpm, 更改的配置还得到保留)
#rpm –ivh –nomd5 –nodigest Repakcage1 (重装备份rpm包,因为备份包包含更新的配置,所以校验通不过,加参数忽略)

Jmeter是测试SOAP web服务的好工具,不过如果测试基于HTTPS的站点时,你要注意一个问题,如果你的站点SSL证书是没有CA认证,而是自己用jdk keytool生成的,那就需要加配置来读取证书了。方法是找到Jmeter启动文件比如jmeter.bat,定位到JAVA启动命令行,加如下宏参数, 证书库文件路径, 库文件密码(同证书密码)。
-Djavax.net.ssl.trustStore=d:\ Path1\tclient.keystore -Djavx.net.ssl.trustStorePassword=changeit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息