【问题标题】:Prestashop Test/Production Server Best PracticesPrestashop 测试/生产服务器最佳实践
【发布时间】:2013-04-11 12:21:23
【问题描述】:

我们在 prestashop 上构建了 eShop,并且每周都在开发新功能。我写在这里是因为我没有找到正确的方法来更新我们的生产环境,而不必再次上传所有代码或手动上传修改后的文件。

现在我们是这样工作的:

  • 我们的开发人员使用连接到 GIT 存储库的本地副本。
  • 一旦我们有了一些新功能并且我们想要创建一个新版本,我会从存储库下载最新版本并在另一台计算机上进行本地测试。

=> 我不喜欢的部分来了... :)

  • 在我的本地副本中通过所有测试后,我们会获取所有已修改的文件(查看提交),然后手动将它们上传到开发环境。
  • 我们再次对其进行测试,如果成功,我们将相同的文件上传到生产环境。

我们一直在考虑将两个环境的源文件也与 repo 链接,但我不链接它,因为我不想发布 .git 文件夹弄乱我的生产代码。

我没有找到将经过测试的代码副本推送到我们的 GIT 存储库并自动更新服务器的方法,而无需手动上传文件或上传整个文件夹(主题、类等)。 .) 通过 FTP。

是否有人使用 prestashop 和 GIT 并拥有一个很好的自动化系统来完成这一切? :)

非常感谢!

问候,

乔迪

【问题讨论】:

    标签: git development-environment prestashop production-environment dev-to-production


    【解决方案1】:

    这是我们使用的工作流程,它(我猜)很标准:

    • 一个 git 仓库
    • preprod 域
    • 产品域

    所有的开发都是在分支上完成的,当它准备好发布时,我们在 master 上合并。 所以在 preprod 中我们拉出我们正在处理的分支,而在生产中我们只拉出 master。 preprod 和 prod 域在同一台服务器上,只是一个子域,有一个 htaccess 来保护它。

    我们不仅在 Prestashop 上使用它,而且在每件事上都使用它,效果很好。

    对于要自动拉取代码的部分,一定是可以的(à la Heroku)。但对我来说最重要的是:你应该到处 git,忘记 FTP。这真的很简单,而且您确信您需要的所有内容都已更新。

    【讨论】:

    • 嗨罗曼伯格。我们也使用分支。我对您的解决方案不了解的是:您的 /var/www 文件夹中有 .git 文件吗?这安全吗?
    • repo 不是托管在同一台服务器上,但是是的,对于生产来说,.git 文件夹就在这里。它需要能够使用git。我不是信息安全专业人士,但我从未听说过 .git 文件夹是安全问题的根源。
    【解决方案2】:

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

    如果您在 Web 服务器上使用 apache,请检查此代码

    这需要存在于您的 .htaccess 文件中

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

    当然你需要有 .htpasswd 文件。

    它的意思是任何以“.”开头的文件或文件夹。点,您需要先进行自动化,然后才能访问它。

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

    我认为它对你有用,Jordi。 (Saludos de Bcn)

    【讨论】:

    • 好点。我们做了类似的事情,即为“所有包含 .git 的 url”添加重定向:RedirectMatch Permanent .*\.(git)/.* /
    猜你喜欢
    • 1970-01-01
    • 2014-04-27
    • 2019-05-31
    • 2011-07-14
    • 1970-01-01
    • 2015-07-26
    • 2018-05-28
    • 2010-12-21
    • 2016-07-03
    相关资源
    最近更新 更多