我创建了一个网站(Ruby on Rails应用程序),我想开源,以便社区可以进行改进。源代码已在GitHub上公开发布。但是,我想设置我的服务器,以便当我接受拉取请求时,代码会自动部署到生产中。
我怀疑我是第一个想到这种事情的人,所以也许已经存在一个工具来处理这个问题。目前我使用Capistrano来部署我的应用程序。也许有一个插件可用于添加这种行为。我还想避免公开当前仅存在于服务器上的生产API密钥。
如果工具/插件尚不存在,我需要做些什么才能实现此类行为。
答案 0 :(得分:0)
经过一些研究,我无法找到一个开源工具或教程如何自己做。但是,我遇到了一些提供此功能的服务。
Travis CI是一种持续集成服务,可在每次提交时运行您的测试套件。它们提供“持续部署”功能,允许您在成功构建时进行部署。当GitHub pull请求合并到master中时,会触发Travis构建,并在所有测试通过时进行部署。但是,他们支持的托管服务提供商数量有限。
http://docs.travis-ci.com/user/deployment/
Ninefold是托管服务提供商,在Travis CI支持的服务列表中。但是,Ninefold有自己的内置支持自动部署,不需要你使用Travis。 https://help.ninefold.com/hc/en-us/articles/200847214-How-to-deploy-an-app
我最终迁移到Ninefold并使用Travis CI进行部署。