首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署使用Snap框架的Haskell代码

部署使用Snap框架的Haskell代码
EN

Stack Overflow用户
提问于 2011-09-24 21:53:58
回答 2查看 959关注 0票数 2

在Snap中以稳定的方式部署用于生产的Haskell代码,您有什么经验?

如果在服务器上编译失败,那么我想中止部署,如果它成功了,我想让它关闭快照服务器并启动新版本。

我知道有很多方法。从rsync到git-hooks (git pull简直就是一场噩梦)。但我想听听你的经历。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-25 00:49:52

在我工作的地方,我们使用Happstack并在Ubuntu linux上部署。实际上,我们对web应用程序和所有依赖项进行去偏置,然后在自动构建器中构建它们。

要在服务器上实际安装,我们只需运行apt-get update && apt-get install webapp-production

此系统的优势在于,它使所有开发人员都可以轻松地针对相同版本的依赖项进行开发。而且您知道所有的源代码都被正确地签入,并且可以在任何地方重新构建。不仅仅是在一台特定的机器上。此外,它还提供了一种机制,可以在需要时从hackage制作库的补丁。

缺点是apt-get和cabal-install不能很好地相处。您要么必须通过apt-get构建所有内容,要么通过cabal-install完成所有操作。

票数 4
EN

Stack Overflow用户

发布于 2011-09-25 16:10:04

这就是我们要做的。首先,我们的服务器都是相同版本的ubuntu,以及我们的开发机器。我们在我们想使用的任何操作系统中编写代码、测试等,当我们准备好推送时,我们在devel机器上构建。只要编译完成,我们就停止(前端服务器的数量)/2,同步resources目录和二进制文件的一个新副本,然后使用脚本启动它。然后对另一半重复上述步骤。

在我看来,我认为你应该质疑在你的前端服务器上维护一个完整的工具链的逻辑,因为你可以很容易地转移二进制和静态资产-假设外部库(数据库,图像等)的版本与构建环境相匹配。见鬼,你可以只使用一个virtualbox实例来做最后的编译,同样,只要操作系统和库的发布相匹配。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7539450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档