我对 RPM 相当陌生,但我一直在玩它,需要做一些事情。
我必须遵守规定我必须在每个环境中使用相同的 rpm 包,我不能使用 %pre 和 %post 来修改文件。
问题是我的安装没有进行制作,事实上我正在复制文本文件和 xml 文件的文件结构。然而,这些文件包含特定于环境的代码,但遗憾的是我必须遵循这些准则。
我考虑过的“解决方案”是使用几个源文件,source0 是 dev,source1 是 test,source2 是生产,而 source3 是灾难恢复。每个源都提取到具有环境名称的文件夹(这是需要的!)
$deploy_folder/dev_code
$deploy_folder/test_code
$deploy_folder/prd_code
我将获得一个环境变量,它告诉我环境。
到目前为止,我已经部署了所有源,然后使用条件删除了不必要的文件夹
如果 [[ $env_variable == "PRD" ]] ; 然后
rm -rf $buildroot/install/$deploy_folder/dev_code
rm -rf $buildroot/install/$deploy_folder/test_code
菲
*我已经稍微简化了上面的变量
这似乎在构建时起作用,但是当我执行 rpm -i 时,它不会部署所有代码然后删除最终目的地的其他文件夹。
显然,我可能没有以正确的精神使用 RPM,所以我这样做的方式是否正确?鉴于我的文件基本上都是特定于环境的,有没有更好的方法?
如何访问部署到最终目的地的代码?
谢谢