首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第一次团队合作(PHP):版本控制和持续集成?

第一次团队合作(PHP):版本控制和持续集成?
EN

Software Engineering用户
提问于 2020-09-01 16:52:09
回答 1查看 135关注 0票数 -2

我和一位同事将第一次在一个项目上一起工作。这给我带来了一些技术问题。比如怎么做。

我认为一个版本控制系统现在是必须的,如果不是作为一个单一的开发人员。

但这也意味着,我不能再简单地通过SFTP上传到开发服务器上点击CTRL+S,所以我想这就是CI (持续集成)出现的原因吧?

这也意味着在SVN、GIT、Mercurial之间进行选择。阅读这些选项,世界似乎是分裂的。每个人都有各自的支持者和反对者。

我们确实想保持一切-不过,我们知道的太多了。

现在我在想:

代码语言:javascript
复制
PHPStorm
dev one ----\        Server              Server          Server
             ------- Development ------- Staging ------- Production
dev two ----/        Internal            External        External
                     |_ GIT (VCS)
                     |_ GIT hook (CD)
                     |_ Apache, etc

我想知道是否有经验丰富的开发人员可以分享他们的一些想法和知识的主题。

更新(2天后):在权衡了VCS之后,我们使用了GIT而不是SVN。TeamCity给我们的网络兼容性带来了一些挑战,所以现在我们使用了一个简单的CD挂钩。稍后我们将进一步研究CI。

通过将GitList复制到intranet站点,我们还为GIT提供了一个良好的前提下轻量级的web。这使得跟踪项目和推动IDE之外的项目变得很容易。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2020-09-01 18:14:39

一个版本控制系统现在是必须的,如果它不是作为一个单一的开发人员。

确实是。一个VCS对于一个或多个开发人员团队来说是强制性的。由于有了GitHub和类似的服务,设置起来非常简单,所以绝对没有理由不使用它。即使您自己在项目上工作,也应该对代码进行版本化,因为:

  • 您可以在代码中做一些错误的事情,并且在生产中只发现它一次(即使您有很多测试)。在这种情况下,如果没有VCS,您就可以自己弄清楚您到底修改了什么,以及如何恢复工作版本(所有这些都是在压力下进行的,因为应用程序无法在生产中工作)。
  • 你可能会发现自己处于这样一种情况下:你开始了一些事情,却发现自己走错了轨道,唯一的解决办法就是抹去所有的改变。
  • 当您正在处理另一个特性时,业务可能需要您快速进行修改。使用VCS,您只需进行更改,进行修改,然后返回到被中断的状态。如果没有,您将不得不手动执行该操作,并且很可能会出错并丢失代码。

但这也意味着,我不能再简单地通过FTP上传到开发服务器上点击CTRL+S。

为什么,这是你之前做过的吗?这造成了另一系列问题,并意味着人类与服务器直接交互。这就造成了随时丢失这些服务器的风险,因为人类很容易出错。

我想这就是CI (持续集成)出现的原因吧?

或者,在您的情况下,持续部署。本质上,一旦提交了某些内容,自动化流程就会运行基本的检查(例如样式检查),然后运行测试(根据不同类型的测试的数量,测试可以是一个多阶段的过程),如果一切看起来都很好,就将更改部署到生产中。

如果你想保持简单,你可以用一个简单的脚本。或者,如果你知道如何使用它,你也可以使用一个完整的产品来为你做到这一点。

这也意味着在SVN、GIT、Mercurial等之间进行选择。

选一个就行。选择并不那么重要。评论中有人推荐Git;它确实是一个非常有效的选项,如果您正在使用GitHub或MacOS,它提供了许多工具,包括Windows;GitHub桌面的巨大好处是它隐藏了很多Git复杂性,因此对于初学者来说非常实用。还可以考虑GitHub,它是源代码最流行的托管服务之一,包括私有存储库。

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

https://softwareengineering.stackexchange.com/questions/415454

复制
相关文章

相似问题

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