
# 如何将应用发布到"我的仓库"
#### 使用说明
编译应用包时，如果是资产包，可以选择发布到"我的仓库"。如果是源码包，则默认发布到"我的仓库"，请根据不同的场景，选择不同的发布方式发布应用。
#### 操作步骤
1. 参考[登录经典应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5025.html)中操作，登录经典版设计器。
2. （可选）在应用开发页面左侧，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933047348.png)，选择"设置"，参考[表1]配置参数。
   
   若需要对应用中部分组件打包，或者需要配置组件发布后在打出的包中是否受保护，则需要执行该步骤。跳过该步骤时，表示发布的资产包中所有组件是受保护的。
   图1编译设置   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887936.png "点击放大")
    表1"编译设置"参数说明 
   | 参数                   | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|
   | 包类型                  | 应用包的类型。 - 选择"资产包"发布的应用包，包中组件可设置是否受保护。 选择该项后，需要配置版权信息（可选）、描述（可选）、每个组件的保护设置（必选，配置为未受保护或只读保护）。 若后续其他用户在开发环境安装后，会显示在开发环境首页的"库"页签下。   - 选择"源码包"发布的应用包，包中的所有组件不受保护和限制。在其他环境安装后可编辑包中组件，即在原有基础上进行再开发。 若后续其他用户在开发环境安装后，会显示在开发环境首页的"项目"页签下。    |
   | 是否全量包                | 打包时是否打全量包。 - 全量包：表示对整个应用（包括应用中的各个组件）作为一个整体进行设置打包。  - 增量包：对应用中部分组件进行设置打包。单击"添加应用组件"，在"类别"中选择相应的类别，勾选需要打包的组件。                                                                                                                                                                                                                                                             |
   | 产权设置 \> 签名保护         | 当选择"资产包"打包时，才会显示该参数，表示是否对打包的组件中敏感内容（例如脚本内容）是否进行加密。 勾选表示加密。在其他环境安装前，包中敏感数据是经过加密的。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 产权设置 \> 版权信息         | 当选择"资产包"打包时，才会显示该参数，表示该包的版权信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 产权设置 \> 描述信息         | 当选择"资产包"打包时，才会显示该参数，该包的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 产权设置 \> 联系邮件         | 可以在此留下当前软件包的问题联系邮箱，若安装过程中出现问题会将联系邮件提示给使用者。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 产权设置 \> 联系链接         | 可以在此留下当前软件包的文档链接，若安装过程中出现问题会将联系链接提示给使用者。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 产权设置 \> 资产保护 \> 保护模式 | 当选择"资产包"打包时，才会显示该参数。打包数据的保护模式。 - 未受保护  - 只读保护  - 不可见保护   未受保护的资产包在开发环境中安装后，可进行二次编辑。在运行环境安装资产包后，不论保护模式是"未受保护"还是"只读保护"，都不可编辑。                                                                                                                                                                       |
   | 部署策略 \> 安装前置脚本       | 当选择"资产包"打包且打全量包时，该配置页才会显示。表示在安装应用包时，在导入实例化配置数据之前执行的脚本，一般用于预清理数据，避免数据冲突的情况。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 部署策略 \> 安装后置脚本       | 当选择"资产包"打包且打全量包时，该配置页才会显示。表示在安装应用包时，在导入实例化配置数据之后执行的脚本。一般用于删除、更新数据等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 部署策略 \> 安装时组件的更新策略   | 当打包的组件中包含系统参数、连接器、Rest操作、数据接入或事件流时，才会显示该参数。例如可设置系统参数随包打包发布后，在升级时遇到新旧数据冲突（唯一索引相同的数据）的数据更新策略。 - 覆盖：当相关组件数据在打包升级到其他环境，发生数据冲突时，会进行覆盖。  - 不覆盖：当相关组件数据在打包升级到其他环境，发生数据冲突时，不会进行覆盖。   默认为"不覆盖"。在配置为"不覆盖"的情况下，例如在开发环境修改数据接入的任意配置数据（包括所有图元的配置信息），打包升级到测试或者运行环境，不会覆盖同名的数据接入配置，即在开发环境修改的数据在测试或者运行环境不会生效。                                                                               |
   | 预置数据                 | 当选择"资产包"打包时，该配置页才会显示。 可以在该页面，选择您在应用打包时一起发布的数据，支持按照对象名称打包。单击"添加对象"，可设置数据导出条件。选择对象后，在应用打包时，会将该对象的满足条件的数据都打包出来。打包后，在资产包中"**refdata**"文件夹下，可查看到导出的数据文件。 使用该方式前，需要先清理不需要发布的数据，且导出对象的"基本信息"页必须勾选上"允许API批量访问"，如[图2]所示。                                                                                                                                                                                                                                                                         |
      
   图2自定义对象Class   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933047340.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
   - 如果选择"资产包"类型去打包，资产包中包含高级页面时，打包出来的高级页面组件都是受保护的。在其他环境（测试或者运行环境）安装该包后，这些随包打包出的组件只可预览和下载，不可在线编辑、更新、启用或禁用，可在高级页面中直接使用该组件，但是不能定制。
   
   - 在安装升级源码包时，如果源码包中使用了受保护模式的组件，安装会报错，您需要修改源码包中使用的组件，在环境中上传组件后，才可正常安装。
    
   
   
3. 在应用开发页面左侧，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960286473.png)，选择"编译"。
   
   编译成功后，页面会显示"编译*XXX*成功"。
   图3编译资产包   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126653.png)
   
   
4. 在应用开发页面左侧，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126657.png)，选择"我的仓库"。
5. 配置版本信息，单击"发布"。 
   如果勾选"压缩高级页面"，表示会对包中所有高级页面涉及的css和js文件进行合并及压缩，这样可以有效降低运行时服务器压力，但从终端浏览器首次访问该站点页面时，访问时间会稍微增加。
   发布成功后，页面显示"程序包已经被成功上传到我的仓库。"在应用开发页面左侧，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960286461.png)，可在"已发布 \> 资产包"或"源码包"页签下看到发布的应用。在右侧单击"下载"，下载后可将发布好的源码包或资产包应用发送给需要安装该应用的用户。
   ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
   发布应用到我的仓库时，如果提示"重复的元数据对象'*AppExchange*'名称'xxx'"，导致无法成功发布。
   出现该提示的原因是：该应用并非当前租户原生开发，而是从其他租户通过源码包方式安装而来的，而且其他租户已发布过相同版本的该应用。
   处理方法：当前租户发布该应用到我的仓库时，设置全新的版本号进行发布，避免版本号和其他租户重复。
   
   
6. 应用发布后，其他租户可以在开发环境、沙箱环境和运行环境中安装软件包，以便于测试或者使用该软件。 
   如何安装应用，请参见[如何安装已开发好的应用](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0344.html)。
   
   
 
