5

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

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

有没有人有这样做的经验 - 或者一个理智的,类似的选择?

4

2 回答 2

5

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

  • 安装 Debian 帮助脚本

    sudo apt-get install dh-make-perl

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

    cpan2deb MODULE

于 2011-02-11T11:08:14.843 回答
4

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

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

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

依赖包对于部署来说始终是一个好主意,以确保实际上没有丢失任何必需的包。此外,您可能想在puppet之类的管理框架上投入一些时间,它们在这里也可能派上用场。

于 2011-02-11T14:42:52.797 回答