gpt4 book ai didi

perl - 部署 Perl 应用程序的好方法是什么?

转载 作者:行者123 更新时间:2023-12-04 04:32:22 26 4
gpt4 key购买 nike

我发布了this question正在寻找类似于 Buildout 的内容对于 Perl。我认为 Shipwright是我正在寻找的,但我不太确定。我玩过它并创建了一个项目,导入了所有源代码和依赖项,并将所有内容导出到容器中,然后文档就停止了。我如何处理造船厂的船只?我是在船上进行实际开发工作,还是在造船厂进行开发?我假设该容器仅用于部署,但我如何实际将容器部署到 Web 服务器(假设我使用的是 linux、apache 并且只运行直接 cgi)。

Shipwright 是我想要完成的事情的正确选择,还是有其他更合适的方法?理想情况下,我可以像使用 Buildout 一样使用 Shipwright。我使用 Buildout 为我的开发创建一个很好的隔离环境,并且在部署到实时服务器时我使用 Buildout 来管理我的所有应用程序的依赖项。

编辑:以下是我希望能够在 Perl 中做的 Buildout 的亮点。

使用 Buildout,我的代码库中有一个列出依赖项的文件(对于 Perl,它可以是 CPAN 模块或其他源存储库)。我可以运行一个引导脚本,它将获取所有这些依赖项并将它们放入我的项目中的一个目录和。不要在系统级别安装它们 . Buildout 还创建了实用程序脚本,它可以做任何你想做的事情(运行测试、其他命令行工具、任何东西),并且这些脚本显式地将依赖项添加到路径中,以便在我的脚本运行时我的所有依赖项都可以导入。

这真正做得很好的是,它允许我管理我的依赖项,而无需在系统级别安装任何东西。这使得从一个版本更改为另一个版本非常容易。此外,它允许我使用同一模块的不同版本在同一系统上运行多个 Buildout 项目。最后,一个巨大的好处是,使用 Buildout 的目录结构,我可以将依赖项提交到源代码控制并部署到新机器上一个系统级别。

最佳答案

我认为您不会在 Perl 中找到与 Buildout 完全相同的东西,但是您可以将一些东西放在一起就可以了。

您可以为 Module::Build 使用标准的 Build.PL 脚本。用于管理您的依赖项并具有运行测试的命令等。

然后你可以使用 cpanminus将这些依赖项安装到本地(非系统)目录中。

然后,您也许可以使用 Shipwright 对具有这些现在本地依赖项的项目进行捆绑和部署。

关于perl - 部署 Perl 应用程序的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com