我在托管 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 master
和 git 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/