容器更新后用于容器中 运行 测试的 DevSpace 挂钩
DevSpace hook for running tests in container after an update to the container
我的最终目标是在容器更新时自动进行测试 运行。比如update /api
,应该同步本地和容器之间的变化。之后它应该自动 运行 测试...最终。
虽然根据 example:
,但我从 Hello World!
开始
# DevSpace --version = 5.16.0
version: v1beta11
...
hooks:
- command: |
echo Hello World!
container:
imageSelector: ${APP-NAME}/${API-DEV}
events: ["after:initialSync:${API}"]
...
我已经尝试了以下所有方法,但没有得到所需的行为:
stop:sync:${API}
restart:sync:${name}
after:initialSync:${API}
devCommand:after:sync
充其量我只能让 Hello World!
在 devspace dev -b
的初始 运行 上打印,但是在我更改 /api
的文件后什么也没有,这导致要同步的文件。
建议?
为此,您需要一个 post-sync 挂钩,它与 DevSpace 生命周期挂钩分开。您可以直接使用 dev.sync
定义它,它看起来像这样:
dev:
sync:
- imageSelector: john/devbackend
onUpload:
execRemote:
onBatch:
command: bash
args:
- -c
- "echo 'Hello World!' && other commands..."
文档中的更多信息:https://devspace.sh/cli/docs/configuration/development/file-synchronization#onupload
我的最终目标是在容器更新时自动进行测试 运行。比如update /api
,应该同步本地和容器之间的变化。之后它应该自动 运行 测试...最终。
虽然根据 example:
,但我从Hello World!
开始
# DevSpace --version = 5.16.0
version: v1beta11
...
hooks:
- command: |
echo Hello World!
container:
imageSelector: ${APP-NAME}/${API-DEV}
events: ["after:initialSync:${API}"]
...
我已经尝试了以下所有方法,但没有得到所需的行为:
stop:sync:${API}
restart:sync:${name}
after:initialSync:${API}
devCommand:after:sync
充其量我只能让 Hello World!
在 devspace dev -b
的初始 运行 上打印,但是在我更改 /api
的文件后什么也没有,这导致要同步的文件。
建议?
为此,您需要一个 post-sync 挂钩,它与 DevSpace 生命周期挂钩分开。您可以直接使用 dev.sync
定义它,它看起来像这样:
dev:
sync:
- imageSelector: john/devbackend
onUpload:
execRemote:
onBatch:
command: bash
args:
- -c
- "echo 'Hello World!' && other commands..."
文档中的更多信息:https://devspace.sh/cli/docs/configuration/development/file-synchronization#onupload