Aras DevOps 的 LDE 与 SDE
Aras DevOps 是一套订阅工具、脚本与流程,覆盖开发环境、版本控制、测试和部署。 其中 LDE 是 Local Development Environment,SDE 是 Standard Development Environment, 不是随便给两台 Innovator 服务器起的别名。
适用版本
本文以 Aras DevOps 1.2.1~1.6 官方 User Guide 为基线。 DevOps、TAF、Method Plugin 与 Innovator 都有独立版本矩阵;部署 R35 或 R39 前必须确认所购 DevOps Release 支持该平台。
1. 两种环境的职责
1.1 LDE
LDE 是开发者的隔离环境,用来:
- 从受控基线开始工作。
- 修改 Innovator 元数据、Method 与代码树定制。
- 导出 AML package、运行本地验证。
- 在不影响团队环境的前提下重建和回退。
本地环境是否使用 IIS、容器、SQL Server 本机实例或组织提供的虚拟化方案,取决于目标 DevOps/Innovator 部署文档, 不要把某一种拓扑写成 LDE 定义本身。
1.2 SDE
SDE 是 Aras DevOps 提供的标准化开发/集成环境能力。 官方 SDE 结合版本控制、Import/Export、TAF 和 Pipeline 等工具,形成可重复的构建与验证流程。
SDE 不是“开发者直接在共享数据库里手改配置”的同义词。应由受控仓库与 Pipeline 更新,降低无法追踪的漂移。
2. Aras DevOps 与普通 Git 的边界
普通 Git 能保存文本历史,但不会自动提供:
- Innovator 基线与数据库/代码树制品。
- AML package 导入顺序。
- XDT/JDT 配置转换。
- TAF Feature License 和测试环境。
- Aras Pipeline 与 SDE 部署流程。
反过来,Aras DevOps 也不规定团队必须采用 Fork、GitFlow 或 rebase。 分支、PR 审批人和合并策略是组织治理,应在仓库规则中单独定义。
3. 基线是开发起点
一个可用基线应能回答:
| 信息 | 示例 |
|---|---|
| Innovator Release/build | R35 / 具体 build |
| 服务器运行时 | .NET 8.0.1 |
| 数据库基线 | 已脱敏、可恢复制品 |
| Code Tree | 与数据库同一 build |
| AML packages | 清单与校验和 |
| Transformations | 环境无关的 XDT/JDT |
| 应用版本 | PE、PM、TD 等明确版本 |
数据库、代码树和包若来自不同 build,LDE 即使能启动也不是可信复现。
4. LDE 开发循环
4.1 获取并验证基线
- 从受控制品源取得对应基线。
- 校验文件哈希与 Release/build。
- 按官方脚本或指南创建 LDE。
- 应用本地环境配置,不把 secret 写入仓库。
- 登录并运行基线 smoke test。
4.2 实施变更
- 在 LDE 中完成一个小范围配置。
- 将元数据加入 Package Definition。
- 导出 AML package。
- 对代码树变化使用受控文件与 XDT/JDT transformation。
- 运行集成与 UI 验证。
- 审查文本差异后提交分支。
4.3 合并前同步
按团队规则合并主线变化,并在一份新建或重置的 LDE 中重新部署当前分支。 不要只在“长期使用、已手改很多次”的数据库上证明功能可用。
5. SDE 集成循环
推荐 Pipeline 明确执行以下阶段:
- 校验仓库结构、manifest 与 transformation 语法。
- 从批准基线创建或更新目标环境。
- 应用 Code Tree 和配置 transformations。
- 以明确顺序导入 AML packages。
- 运行 smoke、AML integration 与必要 UI 测试。
- 发布日志、测试结果和环境版本清单。
- 失败时停止后续部署并保留诊断证据。
“合并后自动推 SDE”只有在 Pipeline 被实际配置并通过验证时才成立,不是 Git 本身的行为。
6. 运行时按 Release 固定
LDE 不应安装“任意可用的 Hosting Bundle”。
| Innovator | 已核验服务器运行时 |
|---|---|
| R31 代 | .NET 6 |
| R34/R35 | .NET 8.0.1 |
| R39 | .NET 10;官方迁移页称首个合规 Release 为 14.39.0 |
平台规格可能同时列 .NET Framework 4.7.2 前置项,但这不等于服务器核心仍运行在 .NET Framework。 每个 LDE/SDE 都应使用该 Release 的 Installation Guide 与 Platform Specifications。
7. 可复现实验:从干净基线交付一个字段
- 从同一批准基线创建 LDE-A 与一份临时集成环境。
- 在 LDE-A 的测试 ItemType 增加
z_delivery_note。 - 把 Property、Form 变化和所需关系加入测试 Package。
- 导出包并提交分支。
- 在临时集成环境使用
Thorough + Merge导入。 - 用普通业务用户创建、保存、搜索该字段。
- 再次从原基线重建环境并重复部署。
- 比较两次包校验和、导入日志和测试结果。
通过标准:两次干净部署结果一致,无手工补配置、无仓库外秘密、无重复元数据。
8. 漂移检查
每次发布候选都检查:
- SDE 数据库中是否存在未进入 Package Definition 的自定义 Item。
- Code Tree 是否有仓库未记录的文件差异。
- 运行配置是否能由 transformations 和 secret 注入重建。
- 实际 Innovator build 是否与基线声明一致。
- Pipeline 用的工具版本是否已锁定。
发现漂移时先回收成可审查变更,不直接把 SDE 数据库当成新的真相来源。
9. 常见错误
把 SDE 展开成 Shared Development Environment
Aras 官方术语是 Standard Development Environment。
把 Fork/rebase 写成官方强制流程
这是团队 Git 策略,不是 Aras DevOps 产品定义。
全局放宽 PowerShell ExecutionPolicy
只按官方安装脚本需求在最小作用域处理,并遵循企业终端安全策略。
在共享 SDE 手工开发
无法进入包、仓库和 Pipeline 的修改会形成漂移,应在 LDE 重现并提交。
混用数据库与代码树版本
能启动不代表兼容。所有基线制品必须对应同一目标 Release/build。
10. 官方依据
- Aras DevOps Documentation Library
- Aras DevOps 1.2.1 User Guide
- Aras DevOps 1.3.1 User Guide TOC
- Aras Innovator Platform Documentation Library
- Migration to .NET 10
文档最后核验:2026-08-13。
