如何将我的Catalyst应用程序部署为debian软件包(或合适的替代方案)?

时间:2011-02-11 09:58:44

标签: perl ubuntu debian packaging catalyst

在测试我的Catalyst应用程序并决定部署它之后,我想将其打包,以便我可以轻松地将其插入到暂存和实时服务器中,管理依赖关系并通过包的灵活性轻松回滚版本。由于我的生产操作系统是Ubuntu,我认为将其打包为deb包将是​​最有意义的。

我预测我将不得不创建我的所有perl模块依赖项的第二个包,因为我的发行版不提供许多依赖包,或者将它们独立打包 - 尽管这可能需要做很多工作。

有没有人有这样做的经验 - 或者是一个理智的,类似的替代方案?

2 个答案:

答案 0 :(得分:6)

使用CPAN包构建自己的Debian软件包:

  • 安装Debian帮助程序脚本

    sudo apt-get install dh-make-perl

  • 从CPAN下载MODULE并构建Debian软件包

    cpan2deb MODULE

答案 1 :(得分:4)

dh-make-perl实际上是将CPAN模块放入Debian软件包的正确工具。与apt-file一起,它甚至可以为您准备适当的依赖项。

关于能够“轻松回滚”,但需要特别注意版本控制或工作流程。有几种方法可以在这里完成你的工作:

  • 如果您可以强制降级软件包,那么您已经赢得了大部分时间,除非您有非常具体的维护者脚本在软件包升级上完成工作 - 那么您也必须让它们能够处理降级
  • 如果您必须使用常规升级路径,请使用“< newversion> + rollback< oldversion>”等方法或类似的东西可能需要考虑。

依赖包对于部署来说总是一个好主意,以确保实际上不会丢失所需的包。此外,您可能希望在puppet等管理框架中投入一些时间,它们也可能会派上用场。