我和一位同事将第一次在一个项目上一起工作。这给我带来了一些技术问题。比如怎么做。
我认为一个版本控制系统现在是必须的,如果不是作为一个单一的开发人员。
但这也意味着,我不能再简单地通过SFTP上传到开发服务器上点击CTRL+S,所以我想这就是CI (持续集成)出现的原因吧?
这也意味着在SVN、GIT、Mercurial之间进行选择。阅读这些选项,世界似乎是分裂的。每个人都有各自的支持者和反对者。
我们确实想保持一切-不过,我们知道的太多了。
现在我在想:
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之外的项目变得很容易。
发布于 2020-09-01 18:14:39
一个版本控制系统现在是必须的,如果它不是作为一个单一的开发人员。
确实是。一个VCS对于一个或多个开发人员团队来说是强制性的。由于有了GitHub和类似的服务,设置起来非常简单,所以绝对没有理由不使用它。即使您自己在项目上工作,也应该对代码进行版本化,因为:
但这也意味着,我不能再简单地通过FTP上传到开发服务器上点击CTRL+S。
为什么,这是你之前做过的吗?这造成了另一系列问题,并意味着人类与服务器直接交互。这就造成了随时丢失这些服务器的风险,因为人类很容易出错。
我想这就是CI (持续集成)出现的原因吧?
或者,在您的情况下,持续部署。本质上,一旦提交了某些内容,自动化流程就会运行基本的检查(例如样式检查),然后运行测试(根据不同类型的测试的数量,测试可以是一个多阶段的过程),如果一切看起来都很好,就将更改部署到生产中。
如果你想保持简单,你可以用一个简单的脚本。或者,如果你知道如何使用它,你也可以使用一个完整的产品来为你做到这一点。
这也意味着在SVN、GIT、Mercurial等之间进行选择。
选一个就行。选择并不那么重要。评论中有人推荐Git;它确实是一个非常有效的选项,如果您正在使用GitHub或MacOS,它提供了许多工具,包括Windows;GitHub桌面的巨大好处是它隐藏了很多Git复杂性,因此对于初学者来说非常实用。还可以考虑GitHub,它是源代码最流行的托管服务之一,包括私有存储库。
https://softwareengineering.stackexchange.com/questions/415454
复制相似问题