云引擎 .NET 运行环境
这篇文档是针对 .NET 运行环境的深入介绍,如希望快速地开始使用云引擎,请查看 快速开始部署云引擎应用。
所有 .NET 项目都必须在根目录包含一个 app.sln 文件才会被云引擎正确识别,通常一个 .NET 项目的结构如下:
├── web
| ├── StartUp.cs
| ├── Program.cs
| ├── web.csproj
| └── wwwroot
| ├── css
| ├── lib
| └── js
├── app.sln
└── global.json
如果你希望创建一个新的项目,推荐从我们的 .NET 示例项目 开始。
启动命令
在完成构建后,云引擎会通过 dotnet release/web.dll 来启动应用。
.NET 版本
目前云引擎仅提供 .NET 3.1.100 版本。
安装依赖和构建
云引擎会在云端使用 dotnet restore app.sln 来安装依赖;使用 dotnet publish -o release -c Release 来进行构建。
自定义构建过程
除了默认的构建过程和运行命令外,开发者还可以在 leanengine.yaml 中进一步地调整运行命令(run)、依赖安装命令(install)和构建命令(build),覆盖默认的行为:
run: echo 'run another command'
install:
- {use: 'default'}
- echo 'install additional dependencies here'
build:
- echo 'overwrite default build command here'
详细的说明见 Reference: leanengine.yaml
。系统级依赖
在云引擎的线上环境中,开发者可以在 leanengine.yaml 中定义额外的系统级依赖:
systemDependencies:
- imagemagick
支持的完整列表见 Reference: leanengine.yaml。
构建日志
默认情况下构建过程中产生的日志不会显示到控制台,只有构建失败时,最后一个步骤的日志才会被显示在控制台上。
如需打印完整的构建日志以便调试,可以在部署时勾选「打印构建日志」或命令行工具添加参数 --options 'printBuildLogs=true'。
健康检查
云引擎目前主要为 Web 应用优化,应用在启动后需要在环境变量 LEANCLOUD_APP_PORT 中指定的端口上提供 HTTP 服务,注意需要监听在 0.0.0.0 地址(所有接口)上,而不是一些框架默认的 127.0.0.1。
在应用部署时,云引擎的管理程序会每隔一秒去检查应用是否启动成功,如果超过启动时间限制(默认 30 秒)仍未启动成功,即认为启动失败,部署会中止。在之后的运行过程中,也会有定期的健康检查来确保应用正常运行,如果健康检查失败,云引擎管理程序会自动重启你的应用。
健康检查会通过 HTTP 检查应用的首页(/),如果返回 HTTP 2xx 的响应,就视作成功。