如果我将 config.cron.yml 与 ddev 一起使用,来自 config.yaml 的钩子将被忽略
If I use config.cron.yml with ddev, hooks from config.yaml will be ignored
我有一个 ddev 运行 TYPO3 和一个钩子,它将 auth.json 复制到 ~/.composer/auth.json。如果我使用 Github 中的以下配方 ddev-contrib/…/cronjob,只会加载 config.cron.yml 中的钩子。
如何加载两个挂钩。
这是我的代码:
config.yaml
1 APIVersion: v1.12.1
2 name: projectname
3 type: typo3
4 docroot: deployer/current/web
5 php_version: "7.2"
6 webserver_type: nginx-fpm
7 router_http_port: "80"
8 router_https_port: "443"
9 xdebug_enabled: false
10 additional_hostnames: []
11 additional_fqdns: []
12 mariadb_version: "10.2"
13 nfs_mount_enabled: false
14 provider: default
15 use_dns_when_possible: true
16 timezone: ""
17 hooks:
18 post-start:
19 - exec: echo Copying Credentials…
20 - exec: mkdir -p /home/montea/.composer
21 - exec: cp /var/www/html/auth.json /home/montea/.composer/auth.json
config.cron.yml
1 webimage_extra_packages: [cron]
2 # INFO: replace montea with your local user
3
4 hooks:
5 post-start:
6 - exec: echo '*/1 * * * * montea TYPO3_CONTEXT=Development /usr/bin/php /var/www/html/public/typo3/sysext/core/bin/typo3 scheduler:run' | sudo tee -a /etc/cron.d/typo3
7 - exec: sudo chmod 0600 /etc/cron.d/typo3 && sudo service cron star
如果我重新启动项目,我只会看到来自 config.cron.yml
的钩子
我可以将执行部分从 config.cron.yml 移动到 config.yaml 但是第一行 webimage_extra_packages: [cron]
是什么?
您 config.cron.yaml 中的 post-start 挂钩 覆盖 config.yaml 中提供的 post-start 挂钩,它这就是它的意图。
您需要将 config.cron.yaml 中的挂钩(或所有内容)移至 config.yaml。
您可以使用 ddev debug configyaml
查看最终 config.yaml 的样子,这将向您展示最终组合版本的样子。
我有一个 ddev 运行 TYPO3 和一个钩子,它将 auth.json 复制到 ~/.composer/auth.json。如果我使用 Github 中的以下配方 ddev-contrib/…/cronjob,只会加载 config.cron.yml 中的钩子。
如何加载两个挂钩。
这是我的代码:
config.yaml
1 APIVersion: v1.12.1
2 name: projectname
3 type: typo3
4 docroot: deployer/current/web
5 php_version: "7.2"
6 webserver_type: nginx-fpm
7 router_http_port: "80"
8 router_https_port: "443"
9 xdebug_enabled: false
10 additional_hostnames: []
11 additional_fqdns: []
12 mariadb_version: "10.2"
13 nfs_mount_enabled: false
14 provider: default
15 use_dns_when_possible: true
16 timezone: ""
17 hooks:
18 post-start:
19 - exec: echo Copying Credentials…
20 - exec: mkdir -p /home/montea/.composer
21 - exec: cp /var/www/html/auth.json /home/montea/.composer/auth.json
config.cron.yml
1 webimage_extra_packages: [cron]
2 # INFO: replace montea with your local user
3
4 hooks:
5 post-start:
6 - exec: echo '*/1 * * * * montea TYPO3_CONTEXT=Development /usr/bin/php /var/www/html/public/typo3/sysext/core/bin/typo3 scheduler:run' | sudo tee -a /etc/cron.d/typo3
7 - exec: sudo chmod 0600 /etc/cron.d/typo3 && sudo service cron star
如果我重新启动项目,我只会看到来自 config.cron.yml
的钩子我可以将执行部分从 config.cron.yml 移动到 config.yaml 但是第一行 webimage_extra_packages: [cron]
是什么?
您 config.cron.yaml 中的 post-start 挂钩 覆盖 config.yaml 中提供的 post-start 挂钩,它这就是它的意图。
您需要将 config.cron.yaml 中的挂钩(或所有内容)移至 config.yaml。
您可以使用 ddev debug configyaml
查看最终 config.yaml 的样子,这将向您展示最终组合版本的样子。