Prestashop测试/生产服务器最佳实践

7
我们在Prestashop上建立了一个电子商务平台,并且每周都在开发新功能。我写这篇文章是因为我找不到正确的方法来更新我们的生产环境,而不必重新上传所有代码或手动上传修改后的文件。
现在我们的工作方式如下:
- 我们的开发人员使用连接到GIT仓库的本地副本进行工作。 - 一旦我们有了一些新功能并想要创建一个新版本,我会从仓库下载最新版本并在另一台计算机上进行本地测试。
=> 这里就是我不喜欢的部分... :)
- 一旦在我的本地副本中通过了所有测试,我们就会将所有已修改的文件(查看提交)手动上传到开发环境。 - 我们再次测试它,如果它能够正常工作,我们就会将相同的文件上传到生产环境。 我们一直在考虑将两个环境的源文件与仓库链接起来,但我没有这样做,因为我不想让.git文件夹在我的生产代码中出现混乱。
我没有找到一种方法,可以将经过测试的代码副本推送到我们的GIT REPOSITORY并自动更新服务器,而无需手动上传文件或通过FTP上传整个文件夹(主题、类等)。
有没有人正在使用Prestashop和GIT,并拥有一个漂亮的自动化系统来完成所有这些工作呢? :)
提前感谢您的帮助!
敬礼,
Jordi
2个回答

8
这是我们使用的工作流程,它(我想)非常标准:
  • 一个git仓库
  • 预发布域名
  • 生产域名
所有开发都在分支上完成,当准备好发布时,我们会合并到主分支。因此,在预发布环境中,我们拉取正在开发的分支,在生产环境中,我们只拉取主分支。预发布和生产域名位于同一台服务器上,只是一个子域名,并有一个htaccess来保护它。
我们不仅为Prestashop使用这个工作流程,而是适用于每一件事情,效果很好。
对于您想要自动拉取代码的部分,这是可能的(例如Heroku)。但对我来说,最重要的是:应该在任何地方使用git并忘记FTP。这真的更容易,而且你可以确保你需要的一切都得到了更新。

嗨,romainberger。我们也使用分支。我不理解你的解决方案的是:你是否在/var/www文件夹中放置了.git文件?这样安全吗? - Jordi Corominas
仓库并非托管在同一服务器上,但是对于生产环境,.git文件夹是必须的。这是为了能够使用git。我不是信息安全专业人员,但我从未听说过.git文件夹作为安全问题的源头。 - romainberger

-1

我认为你的答案也不正确 :)

如果你在你的 Web 服务器上使用 Apache,请检查这段代码

这需要在你的 .htaccess 文件中存在

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule . - [E=HTTP_AUTHORIZATION:%1]

当然,您需要拥有.htpasswd文件。

这意味着任何以“.”点开头的文件或文件夹,在访问之前都需要进行授权。

在此处查看更多关于Mod Rewrite的信息:http://httpd.apache.org/docs/2.2/rewrite/access.html

我认为这对您有用,Jordi。(来自Bcn的问候)


好的观点。我们做了类似的事情,即为“包含.git的所有URL添加重定向”:RedirectMatch permanent ..(git)/. / - Jordi Corominas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接