如何使用gitlab进行web开发?

How to use gitlab for web development?

我知道之前有人问过这个问题,但我找不到适合我的情况的解决方案。我只是希望从社区获得一些见解。


基本上,我想将 gitlab 用于我一直在努力的 Web 应用程序 (html、php、mysql)。我已经在 3-4 人的团队中使用 FTP 一年了,我正在尝试切换到 gitlab。我们有该软件的本地社区版本 运行。当我们提交或推送时,我已经能够设置挂钩将文件上传到实时网站。

这是我卡住的地方;

  1. 我怎样才能以以前的速度开发 Web 应用程序 FTP?
  2. 我是否需要在每个人的网站上安装本地网络服务器 运行 正在开发的计算机?
  3. Web 应用程序配置为在具有 url 重写的特定域上工作。如果我更改它然后提交我的更改,它将破坏实时站点。我是否只排除同步配置文件?
  4. 如果我们更改了数据库,在生产服务器上进行更新的最佳做法是什么?我们需要编写 "upgrade" 脚本来处理吗?

如果我需要编写一些代码,然后推送到开发服务器并等待挂钩触发,那么调试会很痛苦。这是 1-3 分钟,而过去需要 1-3 秒。然后,一旦完成,我们就提交到生产服务器。我觉得我在这里错过了什么。

  1. 引入 Vcs 一开始会让你慢下来,但它对管理你的项目很有帮助。如果我没看错,到目前为止,您一直在直接在生产服务器上开发,通过 FTP 访问代码,这当然很快,但也很容易出错;你也不能与其他开发人员并行工作(如果你们两个想要编辑同一个文件怎么办?)。

  2. 通常您(几乎)在每个开发人员的机器上重新创建生产环境,它可以是它的 "lightwaighted" 版本,但您需要它进行调试。这与 Git 或您要使用的任何 Vcs 无关。

  3. 我担心这是一个不好的编程习惯,您的应用程序不应该对任何域进行硬编码,并且内部 URL 应该始终是相对的。

  4. 你绝对应该找到一种编写数据库迁移脚本的方法,该项目应该可以在不同的机器上重现。

从你的问题来看,我认为你需要一个框架而不是一个 Vcs。您是否考虑过学习 Django、Ruby on Rails、CakePHP 或类似的东西?他们会在一个解决方案中回答你所有的疑惑。