gpt4 book ai didi

php - 本地/开发/实时部署 - 最佳工作流程

转载 作者:可可西里 更新时间:2023-11-01 07:55:08 27 4
gpt4 key购买 nike

情况

我们的小公司有 3 个人,每个人都有一个本地主机网络服务器,大多数项目(以前的和当前的)都在一个 PC 网络共享磁盘上。我们有虚拟服务器,我们的一些客户站点和我们的站点都在其中。

我们的标准工作流程是:

Coder PC → Programmer localhost → dev domain (client.company.com) 

live version (client.com)

经常发生的情况是,有两三个人同时从事同一个项目 - 一个在开发版本上,两个在本地主机上。

完成后,我们会尝试在开发版本上同步文件,最好不要弄乱(感谢 ILMV:])任何文件,这 **knock knock* * 并不经常发生。

然后我们中的一个人在实时网络服务器上部署开发版本。

问题

我们正在寻找一种在更新网站时简化此工作流程的方法 - 理想情况下可能是某种差异 uploader 或 VCS(Git/SVN/VCS/...),但我们不完全确定从哪里开始或以何种方式开始将是理想的,因此我问你,stackoverflowers 的同胞,了解你在网站/应用程序部署和推荐工作流程方面的经验。

我们可能还需要在过程中使用 Mac,所以如果这不会成为问题,那就更好了。

谢谢

编辑:其中一个关键部分是在任何工作更新后将网站从开发状态转移到实时状态。编辑:如果没有其他人出现,我将检查 MaxVt 的答案 :)

最佳答案

这是一个复杂的问题,但一般而言,您需要进行三项重大改进才能改进您的流程。

使用版本控制

如果项目在共享磁盘上,我假设只有一个文件夹包含每个项目的当前状态。开发人员很容易覆盖彼此的更改,没有历史记录,并且您无法确定项目是否处于一致状态或当前是否存在问题。

选择一个版本系统并开始使用它。哪一个(免费的 - SVN 可以并且更“集中”,git 或 mercurial 很棒并且允许更大的灵 active )并不重要,但更重要的是任何更改,无论多么小,总是通过版本控制。

简化升级、部署和回滚

现在可能需要一系列步骤才能从本地主机转移到开发,从开发转移到生产 - 同步文件,将数据库恢复到已知状态,配置特定于服务器的设置......可能有一个文档描述需要做什么,或者可能是部落知识。您的目标应该是开始简化和自动化,实现单个命令或脚本来完成将服务器(本地、开发或生产)同步到源代码管理中的项目修订所需的所有工作。

通过自动化部署,您可以确保所有必要的操作都按正确的顺序完成,即使所有文件都正确但某些配置或命令未运行,您也不会在部署中出现错误,从而破坏站点。

引入测试

您如何知道您刚刚部署的修订版不仅可以正确编译,而且可以按预期工作?对于每个重要的项目,您应该进行测试以验证最重要的功能(登录、添加内容、生成报告等),以确保开发人员所做的更改使网站正常运行。

有专门用于测试网络应用程序的测试框架(想到 Selenium)。研究并应用它们。理想情况下,此测试套件将作为单行部署脚本的一部分运行。


完成这些后,您就已经在拥有有序、可预测且有弹性的开发流程方面取得了长足的进步。您的客户和开发人员会为此感谢您 :)

关于php - 本地/开发/实时部署 - 最佳工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2728316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com