更新时间:2024-10-21 GMT+08:00
分享

导入导出应用源码包

什么是应用包

轻应用或行业应用开发完成后,应用需要编译打包,这种编译后的压缩包即应用包。

  • 应用包类型

    在AstroZero中,编译打包的应用包类型有以下两种:

    • 源码包:该类型包中的所有组件,都不受保护和限制。在其他环境安装后可编辑包中组件,即在原有基础上可进行再开发。若后续其他用户在开发环境安装后,会显示在开发环境首页的“项目”页签下。
    • 资产包:该类型支持设置包中的组件,是否受保护。打包时不做编译设置,默认打出的包都是资产包,包中组件都为只读保护模式,将包安装到其他环境时,只能运行和预览,不可编辑包中组件。若后续其他用户在其他开发环境安装资产包后,应用会显示在开发环境首页的“库”页签下。

      应用包类型的详细介绍,请参见源码包与资产包对比

  • 软件包环境
    图1 环境介绍
    • AstroZero分为开发环境,沙箱环境和运行环境三个部分,更多介绍请参见基本概念
    • 开发者在开发环境开发应用和BO,开发完成后生成对应的软件包。
    • 发布软件包到沙箱环境中进行测试。
    • 测试通过后,发布安装到生产环境实际运行和维护。

      仅专业收费版本支持沙箱环境和运行环境,免费版本无沙箱环境和运行环境权限。

  • 软件包制作
    • 应用或BO创建完成后,平台会同步创建同名的软件包。
    • 对应用和BO内的组件,进行增删查改都会同步反映到软件包中。
    • 开发者也可以在编译设置中,对软件包和其中组件的属性进行修改。

源码包与资产包对比

源码包和资产包都是应用发布类型,大部分的功能都是一致的,例如都分为全量和组件两种形式,都是按“编译-发布”的流程进行。目前来说,主要有以下几点不同之处:

  • 不同的保护模式设置。

    源码包中的所有组件都不受保护和限制,其保护模式也无法进行设置修改,这些组件在安装后可以被自定义编辑修改。而资产包的大部分组件默认在安装后是不允许被修改的,甚至可以设置某些组件不可见,如服务编排,脚本等,可防止泄露源代码,保护知识产权。其保护模式可以在编译设置中,进行修改。

  • 二次开发与发布模式不同。

    源码包在开发环境中安装后允许再次进行打包发布,而资产包安装后无法二次打包发布。另外,源码包只能发布到“我的仓库”,而资产包主要用于发布到应用市场。

如何快速区分源码包与资产包

  • 在经典版应用设计器中,可区分源码包和资产包。
    图2 资产包和源码包位置
  • 在沙箱或运行环境中,安装资产包和源码包后,在packageinstall表中,查看managed字段的值,true是资产包,false是源码包。如何使用控制台查看,可参见使用控制台分析查询SQL
    图3 控制台中查看packageinstall

为什么要用源码包

应用包主要用于租户之间或者环境之间的资产复用,避免重复开发。而源码包主要用于同一租户内,在不同环境之间的资产迁移,以源环境的状态继续开发(类似自己代码仓库),或者用于备份租户自己的代码,以便在需要恢复时使用。

如何导出源码包

  • 可参考资产包的导出流程,导出和编译设置参数,请参见 应用打包发布
  • 先发布源码包,再下载源码包到本地(下载即是导出源码包),请参见1
  • 发布源码包的步骤,请参见如何将应用发布到“我的仓库”
    图4 编译设置:全量导出源码包
    图5 编译设置-组件:部分组件导出源码包

    类别中“租户级组件”指的是当前租户内所存在的组件。

如何导入源码包

  1. 获取到其他租户导出的源码包。

    其他租户在应用开发页面左侧,单击,在“已发布 > 源码包”页签中,可查看到已发布的源码包。单击“下载”,将包下载到本地,然后将发布好的源码包发送给需要安装该应用的用户。

  2. 参考如何登录经典版环境配置中操作,登录经典版环境配置。
  3. 在左侧导航栏中,选择“应用管理 > 软件包管理 > 软件包安装”。
  4. 单击“新建”,在“软件包安装”页面将应用包拖入进去。

    若需要检查软件包中对象属性变更情况时,请勾选“检查软件包中对象属性变更情况”,单击“检查并安装”。

    勾选“检查软件包中对象属性变更情况”,表示安装前会检查软件包中的对象属性变更情况。对象属性变更可能引起环境中某些对象记录内容的变化,默认不勾选。安装软件包的具体操作,请参见软件包安装

    运行环境和沙箱环境禁止安装源码包,因为源码包的多版本策略会破坏基线/资产包的多版本策略,导致将来再装资产包时无法自动激活资产的版本组件。

相关文档