
# 软件包
软件包一般用于虚拟机部署使用，其中包括有软件包（虚拟机部署使用），测试用例包，函数包（函数部署使用）。
#### 文件名
- 文件名后缀只支持zip。
- 文件名只允许包含英文、数字、"-"、 "_"、"()"、"."、空格，最大长度不超过200。
文件名不合规时，会导致发布电子流失败，并且只能重走电子流。
#### zip包大小限制
组合包解压后不超过50G，单个子包解压前不超过30G，解压后不能超过50G（可配置），超出限制将导致电子流发布失败。
#### 文件结构
图1软件包结构   
![](https://support.huaweicloud.com/devg-appstage/zh-cn_image_0000002192597006.png)
表1软件包结构说明 
| 位置           | 类型  | 描述                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| config/      | 文件夹 | 配置文件所在的目录。                                                                                                                                                                                                                                                                                                                                 |
| libs/        | 文件夹 | 打成的依赖包所在的目录。                                                                                                                                                                                                                                                                                                                               |
| package.json | 文件  | 包描述文件。 - 无论是否使用自动部署，都必须包含package.json文件。    - package.json文件必须放在zip包的根目录中。   |
   
- config目录
  图2config目录   
  ![](https://support.huaweicloud.com/devg-appstage/zh-cn_image_0000002192437994.png) 
- libs目录
  图3libs目录   
  ![](https://support.huaweicloud.com/devg-appstage/zh-cn_image_0000002227924189.png) 
- package.json
  软件包的package.json内容一般如下：
  ```
  {   
    "type": "software",                       //软件包类型标识，固定写法，不能随便填写，否则导致电子流异常
    "scope":"1180196813870297011",            //填写为common时，组织下的所有产品都可以使用该软件包；填写产品ID时，该产品下的所有服务可以使用该软件包，在AppStage运维中心右上角的个人账号信息管理中，选择“租户管理”，查看产品ID
    "name": "WiseEyeDeployReleaseCenter",     //可以自定义，建议使用微服务名称
    "version": "{{VERSION_ID}}",              //版本号，版本号如果重复，在后面加时间戳，不会覆盖原来的版本，支持英文、数字、“-”、 “_”、“（）”、“ . ”、空格，包含其他字符会导致电子流异常
   }
  ```
  
 
