在开发完整的站点时,每个人都使用什么来进行本地Shopware开发?



我找到了为Shopware 6设置本地开发环境的不同方法,但到目前为止只尝试过Dockware。开发图像有一些工具,我发现惊人的手表管理和手表店面,但它应该用于插件开发,而不是整个网站。什么是"最好的"?本地Shopware 6开发环境设置?

你能包括你的docker-compose吗?什么时候用呢?

Dockware对我来说插件开发和"全站"工作很好。您可以从模板中创建自己的图像:https://github.com/dockware/dockware/tree/master/.dist/versions/master/dev/6.4.12.0

我的投票:ddev。开箱即用的SW5/6支持,非常好的支持(通过discord或在SO上),好的文档和非常高的自定义。
我已经在Windows 10 + WSL上使用它好几个月了,它绝对是一个轻松的工作!

完全同意https://stackoverflow.com/users/3329355/jim的观点。在Ubuntu的Shopware 5和6上使用ddev

这是我的ddev/config。对于一个简单的Shopware 6项目:

name: my-project
type: shopware6
docroot: public
php_version: "8.0"
webserver_type: apache-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
mariadb_version: ""
mysql_version: "8.0"
use_dns_when_possible: true
composer_version: ""
web_environment:
- APP_URL=http://${DDEV_SITENAME}.ddev.site
- COMPOSER_MEMORY_LIMIT=-1

如果你想使用店面和/或管理员的观察者,添加一个文件docker- composition .观察者。到.ddev目录:

version: "3.6"
services:
web:
expose:
# Storefront Hot Proxy Ports
- 9997
- 9998
- 9999
environment:
# Shopware Administration Watch Host
- HOST=0.0.0.0
# Shopware Administration Watch Port
- PORT=9997
# Expose APP_URL to administration watcher
- APP_URL=http://${DDEV_SITENAME}.ddev.site
- HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,${DDEV_MAILHOG_PORT}:8025,9999:9999,9998:9998,9997:9997
- HTTPS_EXPOSE=${DDEV_ROUTER_HTTPS_PORT}:80,${DDEV_MAILHOG_HTTPS_PORT}:8025,8899:9999,8888:9998,8887:9997

经过大量的尝试,我们最终使用了shopware生产存储库作为模板,我们将其分叉。在我看来,开发存储库只关注插件开发,而不是完整的项目。您提到的watch管理和watch店面特性存在于生产存储库中,它们是bin文件夹中的shell脚本。我们必须通过以下几种方式修改图像以使其处于可操作状态:

  1. 我们需要做一些改变来让webpack监视和编译工作:
    1. 修改docker组合模板以监听webpack期望的端口(8080/9998),我们必须将它们映射到docker中的不同端口,以便它们不会与webpack冲突(例如8080 ->码头工人→8081)
    2. 添加一个nginx配置来代理这些请求到webpack,例如(8081 ->nginx→8080)
    3. 使用nginx重置websocket请求的升级和连接头
  2. 添加一堆实用程序,使在图像中工作更容易(bash, npm,之类的东西)
  3. 我必须以编程方式安装作曲器作为构建的一部分
  4. 我们可选的项目特定的东西(我们想要兔子队列,我们创建了docker映像来工作队列和任务调度程序)

我们没有使用这个设置很长时间,但到目前为止我们对它很满意:我们希望开发和生产设置使用相同的repo,并且最小化不同的docker设置,这种方法满足了所有这些要求。我不得不说,在做这一切的时候,我们并没有意识到dockware,但是我想在内部做事情是有一些好处的。

相关内容

  • 没有找到相关文章

最新更新