什么是 Steedos 软件包?
如果您不熟悉Steedos 软件包,可以将Steedos 软件包视为填充元数据的容器。它包含一组相关的功能、自定义和架构。您使用软件包将元数据从一个 Steedos 部署移动到另一个部署。
软件包结构
Steedos 软件包在直观的子目录中存储自定义对象和自定义对象翻译。源格式使您更容易找到想要更改或更新的内容。并且您可以告别混乱的合并。
my-package
| ├── main/ # 主代码目录
| | ├── default/ # 软件包含默认代码和内容的文件夹
| | | ├── applications/ # 自定义应用程序
| | | ├── objects/ # 自定义对象目录,软件包含字段等定义
| | | | ├── my_object/ # 单个自定义对象的文件和配置
| | | | | ├── fields/ # 软件包含自定义对象的字段
| | | | | ├── listviews/ # 对象的自定义列表视图
| | | | | ├── permissions/ # 自定义对象的权限
| | | | | └── my_object.object.yml # 自定义对象的 YAML 配置文件
| | | ├── pages/ # 自定义页面
| | | ├── tabs/ # 自定义标签
| | | ├── triggers/ # 触发器
│ ├── package.json # Node.js 软件包信息和依赖性
│ └── package.service.js # 软件包的服务配置
│ └── README.md # 软件包的 README.md 文件。
部署软件包
您可以使用以下方法运行 steedos 软件包:
- 生产环境:您的软件包已开发并发布到 npm,您直接在 Steedos 平台上安装软件包。
- 开发环境:使用微服务方法启动软件 包,并通过 Transporter 连接到 Steedos 平台。
软件包版本
每个软件包都有一个独特的生命周期。您向软件包中添加元数据,并创建一个新的软件包版本。尽管软件包在不断发展,但每个软件包版本都是不可变的工件。
软件包版本包含了在创建时与软件包版本相关的特定元数据和功能。当您对软件包进行迭代,并添加、删除或更改打软件包的元数据时,您将创建许多软件包版本。
您可以在 steedos 部署中安装软件包版本。安装软件包版本类似于部署元数据。每个软件包版本都有一个版本号,订阅者可以通过软件包升级将新软件包版本安装到他们的 steedos 中。
由于软件包版本是不可变的,它们也可以用作持续集成(CI)和持续交付(CD)流程的工件。
您可以多次重复软件包开发周期。您可以更改元数据,创建软件包版本,测试软件包版本,最后将软件包部署或安装到生产组织中。这种独特的应用开发生命周期使您可以精确控制何时以及如何推出您的元数据。在安装的组织中,您可以检查哪些元数据来自哪个软件包以及与特定软件包相关的所有元数据集。
软件包类型:受管 vs. 未锁定
Steedos 提供不同的打软件包机制,以满足各种部署策略和商业模式。两种突出的类型是受管软件包和未锁定软件包。每种都有其独特的用途,特别是关于应用程序生命周期管理、专有软件分发和自定义灵活性。
受管和未锁定软件包满足 Steedos 领域内的各种需求。受管软件包适合向最终用户分发,通常是商业应用程序的开发人员。相比之下,未锁定软件包适用于寻求增强内部开发流程的组织,促进在构建 Steedos 解决方案时的敏捷性和自定义。
受管软件包
受管软件包主要由 Steedos 合作伙伴用于开发应用程序,以在 Steedos AppExchange 上分发。它们也被需要将应用程序分发给多个客户或实例的开发人员使用。
未锁定软件包
未锁定软件包是 Steedos DX 方法的一部分,迎合那些偏爱模块化、源代码驱动的开发和部署模型,且没有商业意图的 Steedos 客户。
比较受管和未锁定软件包
- **目的:**受管软件包针对应用程序分发,通常用于商业用途,而未锁定软件包优化组织内部的协作开发努力。
- **代码可访问性:**受管软件包隐藏专有代码,而未锁定软件包授予订阅者完全的代码访问权限,允许广泛的自定义。
- **更新机制:**两种软件包类型都支持版本控制,但受管软件包强调为外部用户提供无缝升级,与 未锁定软件包专注于内部开发流动性形成对比。