🚀 openLiBing DevStation一站式远程编译与测试作业平台 在 VSCode 中一键申请远程计算资源 → 自动同步代码 → 执行编译/测试任务 → 产物自动下载回本地 📋 使用前准备1. 安装插件在 VSCode 扩展市场搜索并安装以下两个插件:
2. 登录账号安装完成后,在 VSCode 左侧面板找到 资源环境 视图,点击 登录 按钮完成账号登录。 |
| 示例 | 含义 |
|---|---|
0*NPU-310P-310P \| 8*CPU-X86 \| 32*RAM \| 50*HD |
无 NPU,8 核 CPU,32GB 内存,50GB 磁盘 |
1*NPU-310P-310P \| 8*CPU-X86 \| 32*RAM \| 50*HD |
1 张 NPU-310P 卡,8 核 CPU,32GB 内存 |
4*NPU-910B-910B \| 64*CPU-X86 \| 256*RAM \| 100*HD |
4 张 NPU-910B 卡,64 核 CPU,256GB 内存 |
💡 编译任务一般不需要 NPU,设为
0*;运行测试任务如需 NPU 卡则设为1*或更多
🔹 container — 容器配置
| 字段 | 说明 | 示例 |
|---|---|---|
image |
容器镜像地址 | swr.cn-north-4.myhuaweicloud.com/.../pytorch_2.7.1_a1_x86_64_builder:20260518 |
options |
容器启动参数 | --add-host |
🔹 steps — 执行步骤
每个步骤包含以下字段:
| 字段 | 必填 | 说明 |
|---|---|---|
name |
否 | 步骤名称,方便在日志中识别 |
working-directory |
否 | 远程基础目录,代码会同步到该目录下的项目子目录中,命令也会在该目录下执行 |
run |
是 | 要执行的 Shell 命令,支持多行 |
env |
否 | 步骤级环境变量,格式为 KEY: VALUE |
💡
working-directory的作用:
- 代码同步到
<working-directory>/<项目名>目录- 命令执行前自动
cd到该目录- 例如
working-directory: /home/usr1,项目名myproject,则代码同步到/home/usr1/myproject
🔹 trans-files — 产物传输
用于在本地和远程之间传输文件:
| 字段 | 必填 | 说明 |
|---|---|---|
action |
是 | download = 远程 → 本地(下载编译产物);upload = 本地 → 远程(上传测试数据);combine = 共享存储模式(任务完成后将远程文件复制到共享存储目录 /mnt/share) |
remotePath |
是 | 远程文件路径 |
localPath |
条件必填 | 本地文件路径(支持绝对路径或相对工作区的路径)。action 为 download 或 upload 时必填,combine 模式下不需要填写 |
💡
trans-files可以写在顶层with下,也可以写在jobs.run-task.with下,效果相同💡
combine模式适用于共享存储场景:任务执行完成后,自动将remotePath指定的远程文件复制到远程环境的/opt/data目录下,供其他任务或环境共享访问
🌟 完整示例
示例一:编译任务
场景:在远程 CPU 环境上编译代码,编译完成后把产物下载回本地。
name: compile_library
on: workflow_dispatch
jobs:
run-task:
runs-on: 0*NPU-310P-310P | 8*CPU-X86| 32*RAM | 50*HD
container:
image: swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch_2.7.1_a1_x86_64_builder:20260518
options: --add-host
steps:
- name: runScript
working-directory: /home/usr1
run: |
git clone https://gitcode.com/tegixia/develop_tools.git
cd develop_tools
cd build
cmake .. && make .
env:
Env1: 1
Env2: 2
with:
trans-files:
- action: download
remotePath: /home/usr1/test_library
localPath: .test_library
执行流程:
① 申请远程环境(纯 CPU,无 NPU)
↓
② 启动容器镜像
↓
③ 同步本地代码 → 远程 /home/usr1/<项目名>/
↓
④ 执行步骤 runScript(克隆代码、编译构建)
↓
⑤ 下载编译产物 test_library → 本地 .test_library
示例二:NPU 测试任务
场景:在带 NPU 卡的远程环境上运行测试用例,需要先上传测试数据包。
name: test_library
on: workflow_dispatch
jobs:
run-task:
runs-on: 1*NPU-310P-310P | 8*CPU-X86| 32*RAM | 50*HD
container:
image: swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch_2.7.1_a1_x86_64_builder:20260518
options: --add-host
steps:
- name: runScript
working-directory: /home/usr1
run: |
cd /tmp
chmod +x test_library && ./test_library
env:
Env1: 1
Env2: 2
with:
trans-files:
- action: upload
remotePath: /tmp/test_library
localPath: .vscode/test_library
执行流程:
① 上传测试文件 test_library → 远程 /tmp/
↓
② 申请远程环境(含 1 张 NPU-310P 卡)
↓
③ 同步本地代码 → 远程 /home/usr1/<项目名>/
↓
④ 执行步骤 runScript(运行测试)
示例三:共享存储任务
场景:编译完成后将产物存入共享存储目录 /mnt/share,供其他任务或环境直接访问,无需手动传输。
name: compile_and_share
on: workflow_dispatch
jobs:
run-task:
runs-on: 0*NPU-310P-310P | 8*CPU-X86| 32*RAM | 50*HD
container:
image: swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch_2.7.1_a1_x86_64_builder:20260518
options: --add-host
steps:
- name: runScript
working-directory: /home/usr1
run: |
git clone https://gitcode.com/tegixia/develop_tools.git
cd develop_tools
cd build
cmake .. && make .
env:
Env1: 1
Env2: 2
with:
trans-files:
- action: download
remotePath: /home/usr1/test_library
localPath: .test_library
- action: combine
remotePath: /home/usr1/test_library
执行流程:
① 申请远程环境(纯 CPU,无 NPU)
↓
② 启动容器镜像
↓
③ 同步本地代码 → 远程 /home/usr1/<项目名>/
↓
④ 执行步骤 runScript(克隆代码、编译构建)
↓
⑤ 下载编译产物 test_library → 本地 .test_library
⑥ 复制 test_library → 共享存储 /mnt/share/test_library
编译任务 vs 测试任务 vs 共享存储任务 对比
| 编译任务 | 测试任务 | 共享存储任务 | |
|---|---|---|---|
| NPU 数量 | 0*(不需要 NPU) |
1* 或更多(需要 NPU 卡) |
视场景而定 |
| 产物传输 | action: download(远程 → 本地) |
action: upload(本地 → 远程) |
action: combine(远程 → 远程共享目录) |
| 典型场景 | 编译框架、构建 wheel 包 | 运行单元测试、精度验证 | 将编译产物存入共享存储,供下游任务使用 |
🏃 如何运行任务
- 创建配置文件:在项目
.devstation/目录下编写.yml任务配置 - 打开任务面板:在 VSCode 左侧点击 任务执行 视图
- 点击运行:在任务列表中找到你的任务,点击 ▶ 按钮运行
- 查看日志:运行过程中会自动打开输出日志,可实时查看执行进度
- 获取产物:任务完成后,配置了
download的产物会自动下载到本地指定路径
⚠️ 资源申请失败
如果申请资源失败,右下角会弹出通知提示失败原因,并提供以下帮助:
- 支持服务 — 跳转到 https://hidevlab.huawei.com/support 获取帮助
- 联系我们 — 跳转到 https://hidevlab.huawei.com/support/contact-us 直接联系支持团队




