Reference: leanengine.yaml
leanengine.yaml 是一个用来自定义云引擎线上运行环境的配置文件,需要放置在项目的根目录,使用 YAML 语法。
runtime 覆盖运行环境
覆盖自动识别的运行环境,可选的值:
cppdotnetgojavanodejsphppythonstatic(Web 前端)
run 覆盖运行命令
run: $(npm bin)/serve -c static.json -l ${LEANCLOUD_APP_PORT}
支持 Shell 语法(如引用环境变量等)。
install 覆盖依赖安装命令
覆盖默认的依赖安装命令(如 npm install),或在安装依赖前后运行自定义命令,支持用数组来表示多条命令,支持 Shell 语法、引用环境变量。
多数运行环境有默认的依赖安装命令,可以用 use: default 来引用默认的命令:
install:
- use: default
- npm run install-additional
依赖安装步骤默认只会将依赖清单(如 package.json 等文件)加入构建目录,如需其他文件可以用 require 来引入:
install:
- require:
- frontend/package.json
- frontend/package-lock.json
- cd frontend && npm ci
build 覆盖构建命令
build: NODE_ENV=production $(npm bin)/webpack
像 install 一样用 use: default 来引用默认命令,支持用数组来表示多条命令,支持 Shell 语法、引用环境变量。
在构建阶段全部代码文件都已经被加入了构建目录,可以使用所有的文件。
systemDependencies 系统级依赖
在部署时安装额外的系统级依赖:
systemDependencies:
- imagemagick
ffmpeg一个音视频处理工具库。imagemagick一个图片处理工具库。fonts-wqy文泉驿点阵宋体、文泉驿微米黑字体,通常和chrome-headless配合来显示中文。fonts-noto思源黑体字体(体积较大),通常和chrome-headless配合来显示中文。(该项目已停止维护)。phantomjs一个无 UI 的 WebKit 浏览器chrome-headless一个无 UI 的 Chrome 浏览器(体积很大,会显著增加部署耗时,运行时也会消耗大量 CPU 和内存;如果使用puppeteer的话,需要给puppeteer.launch传递这些参数:{executablePath: '/usr/bin/google-chrome', args: ['--no-sandbox', '--disable-setuid-sandbox']})。node-canvas安装 node-canvas 所需要的系统级依赖(你仍需要自行安装node-canvas)。python-talibTA-Lib 所需的系统依赖(你仍需要自行安装TA-Lib)。
警告
注意添加系统依赖将会显著增加部署耗时,因此请不要添加未用到的依赖。
buildRoot 构建根目录
指定代码包或仓库中的一个子目录进行构建,相当于只上传了这一个子目录的代码。