我希望将Mojolicious
,perlbrew
和carton
结合起来,将应用部署到实时环境中。可以访问Jenkins,因此可以将应用程序打包为rpm或者可以通过git pull更新代码库。
真正寻找使流程尽可能简单的部署策略。
有没有人有使用这些工具的经验?
我们正在通过hypnotoad运行mojo,并可能将其置于apiaxle代理之后。
答案 0 :(得分:6)
我们有一个可以实现自动化的系统;我无法分享代码,但我可以总结一下。
project-dev
,project-qa
等。)cpanfile
中维护我们的依赖项列表,并使用carton install
在我们的结帐中保持最新状态。cpanfile.snapshot
。carton install --deployment
(实际上它在每个仓库中运行一个脚本,以及该项目的任何其他必要的构建任务)。local
目录,但不包括.git
)复制到新目录git init
,创建一个新的提交,并将其推送到部署存储库。rsync
构建树的内容(不包括.git
)到部署树上,执行{{1} 1}}并提交,并将其推送为新版本。在所有情况下,构建都会作为以内部版本号命名的分支推送到部署存储库。然后,部署工具可以向jenkins询问成功构建的列表,并通过让服务器在部署存储库的签出中执行git add --all
来部署构建。