使用WordPress的Git工作流 - Localhost to Live

时间:2011-06-16 13:46:39

标签: git wordpress

我有一个基本但常见的WordPress工作流程问题。

当前工作流程

  1. 我在当地开发所有东西
  2. FTP文件(和数据库转储)到服务器以显示客户端
  3. 在本地进行请求的更改
  4. 再次向服务器上传FTP文件(和数据库转储)
  5. 更多本地修改
  6. FTP(和数据库转储)再次启动
  7. 冲洗并重复
  8. 这已成为一种怪物痛苦。必须有更好的方法

    疑似Git工作流程

    1. 本地副本将是我的“主人”
    2. 将文件“推送到某个地方”
    3. '将'文件从中间位置拉到我的实时/测试服务器
    4. 我想我已经知道它应该如何在概念上完成,但我不知道它应该如何实际完成。我应该在中间使用Github私人回购吗?我的Live网站有没有办法直接从我的localhost仓库“拉”?

      道歉,如果这看起来已经基本或已经被打死,但我已经搜索过,并且没有找到基本的“这就是你的工作流程应该如何看”指南。

      谢谢!

      特里

3 个答案:

答案 0 :(得分:9)

看起来你根本就没有使用版本控制。你要开始这是个好主意。我只是从SVN转换为Git,而且我正在做你在更宏大的层面上做的事情。让我们从你的目标开始:

  1. 获取版本控制
  2. 通过Git
  3. 建立某种Web部署
  4. 远程托管版本控制
  5. 人们会告诉你Git不是一个网络部署工具 - 他们可能是对的,但到目前为止它对我来说还可以,我做了类似的事情。幸运的是,我在Wordpress安装上练习 - 这是我采取的步骤。

    1. 通过Git设置获得所有内容并安装到客户端。
    2. 以vanilla安装方式下载最新版本的Wordpress。
    3. git init基础安装,无需修改
    4. 将主人分为“dev”和“live”
    5. 在本地工作,在“dev”中提交,然后一旦完成更改,就合并到现场。
    6. 现在,我最后回去做的是创建一个gitolite服务器虚拟机并将其用作我的主机 - 这在您的示例中有效地替换了github。我想你知道远程存储库的价值 - 我肯定会追求这条路线。

      我将在我的建议的第2步上回溯一秒钟。您应该在主服务器上保留Wordpress的vanilla版本,这样您就可以升级核心并查看它如何与您的自定义代码一起使用,而不是像您的某个分支机构之类的东西那样升级核心。这对我来说非常方便,而且我肯定会在像Magento这样的大型项目上使用它。

      好的,回到部署。您可以在您的网络服务器上放置一个git客户端,并在工作流程中从其分支中获取pull - 但您必须考虑一些特殊的规划。您的prod文件很可能与某些地方的开发文件不同,特别是配置(数据库等) - 您要确保这些文件位于.gitignore,这样您才不会拉起来dev配置到您的prod环境中。

      我大部分时间总结了当我开始研究时人们告诉我的内容,所以我希望它有所帮助。再说一遍,我只是略微超过你的位置,所以如果有人有任何更正/优化,请随时发表评论。

答案 1 :(得分:0)

我开始为Wordpress设置这样的工作流程。我已经将它用于其他一些网络项目。

我正在使用gitolite(https://github.com/sitaramc/gitolite/wiki/)工具在中央位置管理裸存储库(没有本地结帐的存储库),然后在gitolite中触发更新挂钩从开发地点推出一个分支。

这个钩子然后ssh到实时服务器(或客户端的帐户或其他任何),存储在部署服务器上的共享私钥,并从public_html或您为Wordpress安装服务的任何位置执行git pull。

这是使用gitolite配置文件中的只读条目完成的,该文件是本地配置存储库中的conf / gitolite.conf。 (Gitolite使用git存储库来管理它的配置文件)

repo wp-versions
  RW+ = tmzt
  R = server1
  R = server2

第一个是我的主要公钥,它将keydir / tmzt.pub存储在同一个存储库中(格式与.ssh / authorized_keys相同)。另外两个是实时Web服务器,它们具有对存储库的只读访问权限。将三个键添加到keydir并确保提交和推送。这些更改将在gitolite安装中自动进行。 (服务器密钥由多个用户共享并复制到每个用户的.ssh / id_rsa文件中,但如果您愿意,可以使用www-data。)

RW +表示我的主要用户具有读取,写入和更新非快进分支(对于恢复服务器上的提交非常有用)。

答案 2 :(得分:0)

我知道这是如此烦人和累人,这就是为什么许多开发人员选择专业的方式来做到这一点的原因。这不仅可以帮助他们节省时间,而且可以提高工作效率。基本上,WordPress GitHub开发工作流中有两种主要方案。第一个是在实时环境中使用WordPress和Github,另一个是在本地环境中使用时。本地工作流程很简单的地方。您需要做的就是将更改从GitHub推送到本地,或者反之亦然。

(在具有多个团队的实时环境中工作非常复杂)

在实时环境工作流程中,首先,您必须将实时WordPress站点文件推送到GitHub存储库,然后将它们拉到本地文件夹。

然后,在本地计算机上构建开发环境(编辑代码),然后从本地推送到GitHub。

现在,要首先将更改移至实时环境,您需要将GitHub与实时环境连接。

您可以阅读这份详细的WordPress和GitHub指南,希望对您有所帮助:https://www.cloudways.com/blog/wordpress-github/