1. 性能简介编程免不了要写配置文件,怎么写配置也是一门学识。YAML 是专门用来写配置文件的语言,十分简洁和弱小。
理解到一些用户在Cloud Studio开发我的项目的时候,环境上须要依赖一些组件,我的项目中也会应用到编辑器的插件。
而如果这些都须要用户本人去装置和筹备,则会十分的繁琐,也不利于用户分享本人的工作空间给其余合作共事创立正本。
因而咱们设计出了YAML模板这个性能,用于解决这个问题。
对于YAML 的简介,传送门:YAML 语言教程2. 性能入口性能的入口在各模板页面的内容右上角:
分为两个性能:
手动新建导入workspcace.yml3. 手动新建
该表繁多共有 7 项能够填充的。
环境镜像,顾名思义就是决定你模板的根本环境,提供了大多数语言的的开发环境。
额定资源,目前提供 mysql 和 redis 预装置。
预装插件,为工作空间默认装置 VSCode 插件,反对抉择版本。
自定义命令, 反对在不同阶段执行自定义 Shell 命令。
分为:初始化命令,启动命令,关机命令。反对 tab 键跳转下一行。
环境变量,免去配置一堆默认环境变量的懊恼。
3.1 导出/导入 workspace.yml该性能能够抉择一个在手动新建阶段导出的workspace.yml文件,能够解决多人应用同一个配置状况下须要同时配置雷同模板的懊恼。
4. 解读 workspace.yml一个成熟的 workspace.yml 长成这样:
---# 这是模板名称name: "react-demo"# 这是模板形容description: "一个繁难YAML示例"# 这是模板的用于辨别的tagtags:- "Node.js"- "React"# 模板创立的工作空间关上时主动拉取的代码仓库repository: "https://e.coding.net/coding-public/cloud-studio-samples/react-quickstart.git"# 默认拉取的分支ref: "master"# 定义的环境变量envs:- name: "PROJECT_NAME" value: "this is a react-demo project"# 关上工作空间主动装置插件extensions:- "msjsdiag.vscode-react-native@1.9.3"- "vscode.typescript@1.62.3"# 定义了生命周期,共分为init、start、destorylifecycle: init: - name: "update apt cache" command: "apt update" - name: "install nginx" command: "apt install -y nginx" start: - name: "run nginx" command: "service nginx start"# sidecar定义了须要启动的从属组件,目前仅反对mysql和redissidecar: mysql: enabled: true password: "123456" database: "test" redis: enabled: true password: "123456"# 初始镜像id,请勿手动批改image_id: 5让咱们来一项项拆解。
...