php - 对于在 LAMP 堆栈上工作的 Windows 用户,GIT 和部署的良好工具链和部署过程是什么?

标签 php linux git deployment web-development-server

我在托管 VPS(LAMP 堆栈)上运行自定义 PHP 站点并且是独立开发人员,但我想开始使用 GIT,以便自由职业者可以做出贡献。目前我不使用 GIT。

GIT

对于 GIT,我想使用 Visual Studio Online (VSO),因为我以前使用过它,但如果它更适合建议的部署过程,我愿意接受建议。

部署

我在 Web 服务器上保留了一个“Dev”文件夹和一个“Live”文件夹,并简单地在 Dev 文件夹中完成了我所有的开发,在那里进行了测试,然后运行 ​​rsync 将其推送到活文件夹。我无法轻松地在本地运行它,因为它有 Linux 符号链接(symbolic link)之类的东西,而且我在 Windows 计算机上工作。

目标

我想开始将 GIT 添加到这个过程中,将其集成到一个体面的构建过程中,并且仍然使用 Windows IDE 进行开发。虽然也许我应该在我的 Windows 机器上安装一个 Linux VM,这样我就可以直接从 GIT 中提取最新版本来开始运行该站点?

我需要一个易于其他开发人员加入的设置,因为我找到了可以提供帮助的自由职业者。

建议?

最佳答案

这是我的工作

Git 部署

对于部署,我遵循一个非常简单的 git-flow 技术 ( http://nvie.com/posts/a-successful-git-branching-model/#the-main-branches ) 和 2 个分支:

  • master 产品
  • dev 新功能

你总是在 dev 分支上开发新功能,所以 dev 在功能方面总是领先于 master。

当你想部署时,你在你的服务器上使用 SSH,你在 git pull dev 分支,如果一切正常,你 git merge 与 master。

您始终可以使用 git branch mastergit branch dev 在生产版本和开发版本之间切换生产服务器。不需要 2 个文件夹,git 可以处理这个!

如果你的prod环境有bug,你可以在本地电脑上切换分支到master并修复bug。然后通过 ssh 上传它。

多协作者开发(开发人员使用 windows/linux/mac 但有 1 个生产服务器)

我个人使用 docker,它会创建一个单一的 VM,您可以对其进行自定义以匹配您的生产环境(linux 版本、apache 版本、php 版本和我的 sql 版本)。您创建 1 个 docker 镜像,然后每个协作者都可以下载此镜像并在他的计算机上运行它。

关于php - 对于在 LAMP 堆栈上工作的 Windows 用户,GIT 和部署的良好工具链和部署过程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660441/

相关文章:

PHP数组效率和内存澄清

php - 错误 :Not storing ID in DataBase

python - 从 python 脚本调用 xkbcomp,通过信号调用时无法应用

git - 脏/干净的工作目录是什么意思?

javascript - 由于 Git 集成插件,括号在加载时卡住

php - "Conditional"根据字段值加入?

php - 如何从 MySQL 中获取具有最新日期的行

linux - 在 PATH 中添加 Storm

c++ - su -c 使用 c++ 替换

node.js - 调用 git Shortlog -sn 时, Node child_process spawn 挂起