---
url: /zh/workspaces/default-dev-env.md
description: >
  介绍云原生开发的默认环境镜像 cnbcool/default-dev-env， 以及如何通过环境变量 CNB_WELCOME_CMD
  配置开发环境启动时自动执行的命令。
---
云原生开发的默认环境镜像为 [cnbcool/default-dev-env](https://cnb.cool/cnb/cool/default-dev-env)。

## 配置自动执行命令

安装 VS Code 插件 [cnb-welcome](https://cnb.cool/cnb/cool/cnb-welcome) 后，
配置 `CNB_WELCOME_CMD` 环境变量，可在打开开发环境时自动在终端执行命令。

::: tip
默认环境镜像 `cnbcool/default-dev-env` 中已预装 `cnbcool.cnb-welcome` 插件，无需额外安装。
:::

### 在 `.cnb.yml` 中配置

在仓库默认分支的 `.cnb.yml` 中声明 `vscode` 事件流水线，并在 `env` 中设置
`CNB_WELCOME_CMD`，即可在打开开发环境时自动在终端执行指定命令：

```yaml title=".cnb.yml"
$:
  vscode:
    - services:
        - vscode
      env:
        CNB_WELCOME_CMD: echo "开发环境已就绪，开始编码吧"
      stages:
        - name: 环境已创建
          script: echo "development environment created"
```

`CNB_WELCOME_CMD` 的取值是一段 Shell 命令，
进入开发环境（WebIDE / 远程客户端）时会自动执行一次。

::: tip

* 不显式声明 `docker.image` / `docker.build` 时，开发环境使用默认镜像
  `cnbcool/default-dev-env`。
* 命令如需多步执行或包含特殊字符，可先写入脚本文件，再将 `CNB_WELCOME_CMD`
  设置为调用该脚本的命令，例如 `bash /workspace/setup.sh`。

:::
