容器更新后用于容器中 运行 测试的 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