Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 打包和部署Mojolicous应用程序的最佳方法_Perl_Mojolicious - Fatal编程技术网

Perl 打包和部署Mojolicous应用程序的最佳方法

Perl 打包和部署Mojolicous应用程序的最佳方法,perl,mojolicious,Perl,Mojolicious,我希望将应用程序合并并部署到实时环境中。可以访问,因此可以将应用程序打包为rpm或通过git pull更新代码库 真正寻找使过程尽可能简单的部署策略 有人有一起使用这些工具的经验吗 我们正在通过hypnotoad运行mojo,可能会将其置于ApiAxix代理之后。我们有一个系统在工作,可以自动执行此操作;我不能分享代码,但我可以总结 我们在git中维护我们的项目,并在单独的git repo中维护我们的部署(每个jenkins作业一个,例如项目开发,项目qa,等等) 我们在cpanfile中维护依

我希望将应用程序合并并部署到实时环境中。可以访问,因此可以将应用程序打包为rpm或通过git pull更新代码库

真正寻找使过程尽可能简单的部署策略

有人有一起使用这些工具的经验吗


我们正在通过hypnotoad运行mojo,可能会将其置于ApiAxix代理之后。

我们有一个系统在工作,可以自动执行此操作;我不能分享代码,但我可以总结

  • 我们在git中维护我们的项目,并在单独的git repo中维护我们的部署(每个jenkins作业一个,例如
    项目开发
    项目qa
    ,等等)
  • 我们在
    cpanfile
    中维护依赖项列表,并使用
    carton install
    在签出时保持最新
  • 创建项目后,每当依赖项发生变化时,我们提交
    cpanfile.snapshot
  • jenkins作业签出源repo并运行
    carton install--deployment
    (实际上,它在每个repo中运行一个脚本,该脚本执行此操作,并为该项目运行任何其他必要的构建任务)
  • 运行测试等
  • 如果这是第一个jenkins构建,它会将整个树(包括carton创建的
    local
    目录,但不包括
    .git
    )复制到一个新目录,
    git init
    s it,创建一个新提交,并将其推送到部署repo
  • 否则,它将从新目录中的部署repo中签出最后一个成功的构建,
    rsync
    s将构建树的内容(不包括
    .git
    )放到部署树上,执行
    git add--all
    并提交,然后将其作为新构建推送

  • 在所有情况下,生成都作为以生成编号命名的分支推送到部署repo。然后部署工具可以要求jenkins提供成功构建的列表,并通过让服务器执行
    git fetch来部署构建;git reset--硬源代码/$BUILDNUMBER
    在部署报告的签出中。

    谢谢,回答得很好-听起来确实是我们需要采取的方向。