导入导出应用源码包
什么是应用包
轻应用或行业应用开发完成后,应用需要编译打包,这种编译后的压缩包即应用包。
- 应用包类型
在AstroZero中,编译打包的应用包类型有以下两种:
- 源码包:该类型包中的所有组件,都不受保护和限制。在其他环境安装后可编辑包中组件,即在原有基础上可进行再开发。若后续其他用户在开发环境安装后,会显示在开发环境首页的“项目”页签下。
- 资产包:该类型支持设置包中的组件,是否受保护。打包时不做编译设置,默认打出的包都是资产包,包中组件都为只读保护模式,将包安装到其他环境时,只能运行和预览,不可编辑包中组件。若后续其他用户在其他开发环境安装资产包后,应用会显示在开发环境首页的“库”页签下。
应用包类型的详细介绍,请参见源码包与资产包对比。
- 软件包环境
图1 环境介绍
- AstroZero分为开发环境,沙箱环境和运行环境三个部分,更多介绍请参见基本概念。
- 开发者在开发环境开发应用和BO,开发完成后生成对应的软件包。
- 发布软件包到沙箱环境中进行测试。
- 测试通过后,发布安装到生产环境实际运行和维护。
仅专业收费版本支持沙箱环境和运行环境,免费版本无沙箱环境和运行环境权限。
- 软件包制作
- 应用或BO创建完成后,平台会同步创建同名的软件包。
- 对应用和BO内的组件,进行增删查改都会同步反映到软件包中。
- 开发者也可以在编译设置中,对软件包和其中组件的属性进行修改。
如何快速区分源码包与资产包
- 在经典版应用设计器中,可区分源码包和资产包。
图2 资产包和源码包位置
- 在沙箱或运行环境中,安装资产包和源码包后,在packageinstall表中,查看managed字段的值,true是资产包,false是源码包。如何使用控制台查看,可参见使用控制台分析查询SQL。
图3 控制台中查看packageinstall
为什么要用源码包
应用包主要用于租户之间或者环境之间的资产复用,避免重复开发。而源码包主要用于同一租户内,在不同环境之间的资产迁移,以源环境的状态继续开发(类似自己代码仓库),或者用于备份租户自己的代码,以便在需要恢复时使用。
如何导出源码包
- 可参考资产包的导出流程,导出和编译设置参数,请参见 应用打包发布。
- 先发布源码包,再下载源码包到本地(下载即是导出源码包),请参见1。
- 发布源码包的步骤,请参见如何将应用发布到“我的仓库”。
图4 编译设置:全量导出源码包
图5 编译设置-组件:部分组件导出源码包
类别中“租户级组件”指的是当前租户内所存在的组件。
如何导入源码包
- 获取到其他租户导出的源码包。
其他租户在应用开发页面左侧,单击,在“已发布 > 源码包”页签中,可查看到已发布的源码包。单击“下载”,将包下载到本地,然后将发布好的源码包发送给需要安装该应用的用户。
- 参考如何登录经典版环境配置中操作,登录经典版环境配置。
- 在左侧导航栏中,选择“应用管理 > 软件包管理 > 软件包安装”。
- 单击“新建”,在“软件包安装”页面将应用包拖入进去。
若需要检查软件包中对象属性变更情况时,请勾选“检查软件包中对象属性变更情况”,单击“检查并安装”。
勾选“检查软件包中对象属性变更情况”,表示安装前会检查软件包中的对象属性变更情况。对象属性变更可能引起环境中某些对象记录内容的变化,默认不勾选。安装软件包的具体操作,请参见软件包安装。
运行环境和沙箱环境禁止安装源码包,因为源码包的多版本策略会破坏基线/资产包的多版本策略,导致将来再装资产包时无法自动激活资产的版本组件。