web – 远程服务器上的部署如何工作?
我对版本控制和部署环境有点新意,我对这个问题的了解已经停止:如果开发人员无法在同一台本地机器上工作并被迫一直工作,部署环境如何工作?远程服务器?
如何根据最佳实践设置部署环境的流程? 在本例中,我考虑了三种部署环境:开发,升级和生产;和三个存储环境:本地,存储库服务器和最终服务器. 这是我想出的流程图,但我不知道它是否正确或如何正确实现它: PS.我以为服务器上的暂存测试可以通过登录或ip检查限制访问,以防你想知道. 解决方法
我可以(根据我的经验)给你一个良好而直接的实践,这不是唯一的方法,因为没有关于如何处理所有项目的独特标准:
>使用分布式版本控制系统(如git / github): >创建一个私有/公共存储库来处理您的项目 >本地发展: >开发人员将从您的仓库中生成项目并为其做出贡献,建议每个人在分支上工作,并为每个新功能创建一个新分支 >将dev环境与主机隔离并处理依赖关系 >如果你正在使用python我也强烈建议使用虚拟环境(如virtualenv或anaconda)来隔离和管理内部依赖项 >通过一次单击或某些命令制作脚本或其他内容,重现所有环境和所有依赖项以及项目启动和运行所需的所有内容,以便所有开发人员后端,前端,设计人员……无论他们的知识还是他们的主机类型可以非常简单地运行项目.我还建议对远程服务器做同样的事情,无论是手动还是使用像(fabric / fabtools)这样的工具 >远程服务器: >您至少需要一个生产服务器,使您的项目可供最终用户访问 >部署流程:Local-Repo-Remote服务器,它是如何工作的?: >为远程服务器(测试,登台和生产)提供对存储库的访问:将每个服务器的ssh公钥添加到版本控制系统中的密钥(或使用结构转发的用户代理) 5.1如果要将功能部分部署到测试或暂存: > ssh访问服务器然后cd到项目文件夹(手动或通过autamtion脚本从repo克隆) 5.2如果要部署到生产中: >发出拉取请求,并在拉取请求得到经理验证并与主分支合并之后 >我建议使用fabric / fabtools编写脚本,或使用Jenkins之类的工具自动执行部署任务. 这是一种简化的方法,还有一堆其他推荐和最好的prectice工具和任务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |