### 应用部署（AppDeploy）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
ProjectId | 项目 | Int32 |  |  |  | N | 资源归属的团队
AppId | 应用 | Int32 |  |  |  | N | 对应StarApp
Category | 类别 | String | 50 |  |  |  |
Name | 名称 | String | 50 |  | UQ |  | 应用名
Enable | 启用 | Boolean |  |  |  | N |
Nodes | 节点 | Int32 |  |  |  | N | 该应用部署集所拥有的节点数
Version | 版本 | String | 50 |  |  |  | 应用正在使用的版本号
MultiVersion | 多版本 | Boolean |  |  |  | N | 支持多运行时版本，此时只认可部署版本中符合运行时要求的最新可用版本
AutoPublish | 自动发布 | Boolean |  |  |  | N | 应用版本后自动发布到启用节点，加快发布速度
PackageName | 包名 | String | 50 |  |  |  | 用于判断上传包名是否正确，避免错误上传其它应用包，支持*模糊匹配
Port | 监听端口 | Int32 |  |  |  | N | 应用自身监听的端口，如果是dotnet应用会增加urls参数
Urls | 服务地址 | String | 50 |  |  |  | 对外提供服务的域名端口地址，自动生成nginx配置，如https://sso.newlifex.com
Repository | 代码库 | String | 200 |  |  |  | 下载代码的位置
Branch | 分支 | String | 50 |  |  |  | 默认master
ProjectPath | 项目路径 | String | 50 |  |  |  | 需要编译的项目路径，相对于代码库根目录
ProjectKind | 项目类型 | Int32 |  |  |  | N | 默认dotnet
BuildArgs | 编译参数 | String | 200 |  |  |  | 编译项目时所需参数
PackageFilters | 打包过滤器 | String | 50 |  |  |  | 需要打包哪些文件，支持通配符，多项分号隔开
FileName | 文件 | String | 50 |  |  |  | 应用启动文件，可直接使用zip包
Arguments | 参数 | String | 500 |  |  |  | 启动应用的参数
WorkingDirectory | 工作目录 | String | 200 |  |  |  | 应用根目录
UserName | 用户名 | String | 50 |  |  |  | 以该用户执行应用
Environments | 环境变量 | String | 500 |  |  |  | 启动应用前设置的环境变量
MaxMemory | 最大内存 | Int32 |  |  |  | N | 单位M，超过上限时自动重启应用，默认0不限制
Mode | 工作模式 | Int32 |  |  |  | N | 0默认exe/zip；1仅解压；2解压后运行；3仅运行一次；4多实例exe/zip
AutoStop | 自动停止 | Boolean |  |  |  | N | 随着宿主的退出，同时停止该应用进程
ReloadOnChange | 检测变动 | Boolean |  |  |  | N | 当文件发生改变时，自动重启应用
CreateUserId | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserId | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 应用节点（AppDeployNode）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
DeployName | 发布名 | String | 50 |  |  |  | 默认为空，使用部署集上名字。可用于单节点多发布场景
AppId | 应用部署集 | Int32 |  |  |  | N | 对应AppDeploy
NodeId | 节点 | Int32 |  |  |  | N | 节点服务器
IP | IP地址 | String | 50 |  |  |  | 节点所在内网IP地址
Enable | 启用 | Boolean |  |  |  | N |
Port | 应用端口 | Int32 |  |  |  | N | 应用自身监听的端口，如果是dotnet应用会增加urls参数
FileName | 文件 | String | 50 |  |  |  | 应用启动文件，可直接使用zip包，支持差异定制，为空时使用应用集配置
Arguments | 参数 | String | 500 |  |  |  | 启动应用的参数，为空时使用应用集配置
WorkingDirectory | 工作目录 | String | 200 |  |  |  | 应用根目录，为空时使用应用集配置
Environments | 环境变量 | String | 500 |  |  |  | 启动应用前设置的环境变量
Mode | 工作模式 | Int32 |  |  |  | N | 0默认exe/zip；1仅解压；2解压后运行；3仅运行一次；4多实例exe/zip。为空时使用应用集配置
Delay | 延迟 | Int32 |  |  |  | N | 批量发布时，需要延迟执行的时间，用于滚动发布，单位秒
ProcessId | 进程 | Int32 |  |  |  | N |
UserName | 用户名 | String | 50 |  |  |  | 启动该进程的用户名
ProcessName | 进程名称 | String | 200 |  |  |  |
StartTime | 进程时间 | DateTime |  |  |  |  |
Version | 版本 | String | 50 |  |  |  | 客户端
Compile | 编译时间 | DateTime |  |  |  |  | 客户端
Listens | 监听端口 | String | 200 |  |  |  | 网络端口监听信息
LastActive | 最后活跃 | DateTime |  |  |  |  | 最后一次上报心跳的时间
LastUpload | 最后上传 | DateTime |  |  |  |  | 最后一次上传客户端配置的时间
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
CreateUserId | 创建人 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserId | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 部署版本（AppDeployVersion）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
AppId | 应用部署集 | Int32 |  |  |  | N | 对应AppDeploy
Version | 版本 | String | 50 |  |  | N | 如2.3.2022.0911，字符串比较大小
Enable | 启用 | Boolean |  |  |  | N |
Url | 资源地址 | String | 500 |  |  |  | 一般打包为Zip包，StarAgent下载后解压缩覆盖
Overwrite | 覆盖文件 | String | 100 |  |  |  | 需要拷贝覆盖已存在的文件或子目录，支持*模糊匹配，多文件分号隔开。如果目标文件不存在，配置文件等自动拷贝
Mode | 发布模式 | Int32 |  |  |  | N | 1部分包，仅覆盖；2标准包，清空可执行文件再覆盖；3完整包，清空所有文件
Size | 文件大小 | Int64 |  |  |  | N |
Hash | 文件哈希 | String | 50 |  |  |  | MD5散列，避免下载的文件有缺失
Runtime | 运行时 | Int32 |  |  |  | N | RID是运行时标识符，用于标识应用程序运行所在的目标平台。如win-x64/linux-arm
TargetFramework | 目标框架 | String | 50 |  |  |  | TFM目标运行时框架，如net8.0
Progress | 进度 | String | 50 |  |  |  | 发布进度
CommitId | 提交标识 | String | 50 |  |  |  |
CommitLog | 提交记录 | String | 50 |  |  |  |
CommitTime | 提交时间 | DateTime |  |  |  |  |
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
CreateUserId | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserId | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 部署历史（AppDeployHistory）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int64 |  |  | PK | N |
AppId | 应用部署集 | Int32 |  |  |  | N | 对应AppDeploy
NodeId | 节点 | Int32 |  |  |  | N | 节点服务器
Action | 操作 | String | 50 |  |  | N |
Success | 成功 | Boolean |  |  |  | N |
Remark | 内容 | String | 2000 |  |  |  |
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
CreateUserId | 创建者 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |

### 编译节点（AppBuildNode）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int32 |  |  | AI | N |
AppId | 应用部署集 | Int32 |  |  |  | N | 对应AppDeploy
NodeId | 节点 | Int32 |  |  |  | N | 节点服务器
Enable | 启用 | Boolean |  |  |  | N |
SourcePath | 源代码目录 | String | 50 |  |  |  |
PullCode | 拉取源代码 | Boolean |  |  |  | N |
BuildProject | 编译项目 | Boolean |  |  |  | N |
PackageOutput | 打包输出 | Boolean |  |  |  | N |
UploadPackage | 上传应用包 | Boolean |  |  |  | N |
TraceId | 追踪 | String | 50 |  |  |  | 最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递
CreateUserId | 创建人 | Int32 |  |  |  | N |
CreateTime | 创建时间 | DateTime |  |  |  |  |
CreateIP | 创建地址 | String | 50 |  |  |  |
UpdateUserId | 更新者 | Int32 |  |  |  | N |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
UpdateIP | 更新地址 | String | 50 |  |  |  |
Remark | 备注 | String | 500 |  |  |  |

### 附件（Attachment）

名称 | 显示名 | 类型 | 长度 | 精度 | 主键 | 允许空 | 备注
--- | --- | --- | --- | --- | --- | --- | ---
Id | 编号 | Int64 |  |  | PK | N |
Category | 业务分类 | String | 50 |  |  |  |
Key | 业务主键 | String | 50 |  |  |  |
Title | 标题 | String | 200 |  |  |  | 业务内容作为附件标题，便于查看管理
FileName | 文件名 | String | 200 |  |  | N | 原始文件名
Extension | 扩展名 | String | 50 |  |  |  |
Size | 文件大小 | Int64 |  |  |  | N |
ContentType | 内容类型 | String | 200 |  |  |  | 用于Http响应
FilePath | 路径 | String | 200 |  |  |  | 本地相对路径或OSS路径，本地相对路径加上附件目录的配置，方便整体转移附件
Hash | 哈希 | String | 50 |  |  |  | MD5
Enable | 启用 | Boolean |  |  |  | N |
UploadTime | 上传时间 | DateTime |  |  |  |  | 附件上传时间，可用于构造文件存储路径
Url | 网址 | String | 500 |  |  |  | 链接到附件所在信息页的地址
Source | 来源 | String | 500 |  |  |  | 用于远程抓取的附件来源地址，本地文件不存在时自动依次抓取
TraceId | 追踪 | String | 50 |  |  |  | 链路追踪，用于APM性能追踪定位，还原该事件的调用链
CreateUser | 创建者 | String | 50 |  |  |  |
CreateUserID | 创建用户 | Int32 |  |  |  | N |
CreateIP | 创建地址 | String | 50 |  |  |  |
CreateTime | 创建时间 | DateTime |  |  |  |  |
UpdateUser | 更新者 | String | 50 |  |  |  |
UpdateUserID | 更新用户 | Int32 |  |  |  | N |
UpdateIP | 更新地址 | String | 50 |  |  |  |
UpdateTime | 更新时间 | DateTime |  |  |  |  |
Remark | 备注 | String | 500 |  |  |  |