web – 远程服务器上的部署如何工作?

前端之家收集整理的这篇文章主要介绍了web – 远程服务器上的部署如何工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对版本控制和部署环境有点新意,我对这个问题的了解已经停止:如果开发人员无法在同一台本地机器上工作并被迫一直工作,部署环境如何工作?远程服务器?

如何根据最佳实践设置部署环境的流程?

在本例中,我考虑了三种部署环境:开发,升级和生产;和三个存储环境:本地,存储库服务器和最终服务器.

这是我想出的流程图,但我不知道它是否正确或如何正确实现它:

PS.我以为服务器上的暂存测试可以通过登录或ip检查限制访问,以防你想知道.

解决方法

我可以(根据我的经验)给你一个良好而直接的实践,这不是唯一的方法,因为没有关于如何处理所有项目的独特标准:

>使用分布式版本控制系统(如git / github):

>创建一个私有/公共存储库来处理您的项目

>本地发展:

>开发人员将从您的仓库中生成项目并为其做出贡献,建议每个人在分支上工作,并为每个新功能创建一个新分支
>在您的团队中,有一个负责合并准备好与主分支的分支
>我强烈建议在开发期间使用虚拟机:

>将dev环境与主机隔离并处理依赖关系
>使虚拟机与远程生产服务器相同
>易于重置,删除,重现
> ……
>我建议使用VirtualBox用于VM提供程序,使用Vagrant用于配置
>我建议您的项目文件夹是主机和VM之间的共享文件夹,因此,您将使用您喜欢的编辑器在主机操作系统上编写源代码,同时此代码存在并在VM内运行,是不是真的太棒了?!

>如果你正在使用python我也强烈建议使用虚拟环境(如virtualenvanaconda)来隔离和管理内部依赖项
>然后每个开发人员在编写了一些源代码之后,就可以提交并将他的更改推送到存储库
>我建议使用项目自动化设置工具,如(fabric/fabtools for python):

>通过一次单击或某些命令制作脚本或其他内容,重现所有环境和所有依赖项以及项目启动和运行所需的所有内容,以便所有开发人员后端,前端,设计人员……无论他们的知识还是他们的主机类型可以非常简单地运行项目.我还建议对远程服务器做同样的事情,无论是手动还是使用像(fabric / fabtools)这样的工具
secript将主要安装os依赖项,然后项目依赖项,然后从Virsion Control克隆项目repo,为此,您需要为远程服务器(测试,登台和生产)访问存储库:添加ssh公钥每个服务器到版本控制系统(或use agent forwarding with结构)中的密钥

>远程服务器:

>您至少需要一个生产服务器,使您的项目可供最终用户访问
>建议你也有一个测试和登台服务器(我想你知道每个服务器的目的)

>部署流程:Local-Repo-Remote服务器,它是如何工作的?:

>为远程服务器(测试,登台和生产)提供对存储库的访问:将每个服务器的ssh公钥添加到版本控制系统中的密钥(或使用结构转发的用户代理)
>开发人员在他的机器上编写代码
>最终为他的代码编写测试并在本地运行它们(并在测试服务器上)
> devloper将他的代码提交并推送到他正在使用的分支到远程Repository
>部署:

5.1如果要将功能部分部署到测试或暂存:

> ssh访问服务器然后cd到项目文件夹(手动或通过autamtion脚本从repo克隆)
> git checkout<使用的分支>
> git pull origin<使用的分支>

5.2如果要部署到生产中:

>发出拉取请求,并在拉取请求得到经理验证并与主分支合并之后
> ssh访问服务器然后cd到项目文件夹(手动或通过自动化脚本从repo克隆)
> git checkout master#不需要因为它应该始终在master上
> git pull origin master

>我建议使用fabric / fabtools编写脚本,或使用Jenkins之类的工具自动执行部署任务.
沃利亚!部署完成!

这是一种简化的方法,还有一堆其他推荐和最好的prectice工具和任务.

原文链接:https://www.f2er.com/html/227270.html

猜你在找的HTML相关文章