# supos-app-maven-plugin
**Repository Path**: supos-help/supos-app-maven-plugin
## Basic Information
- **Project Name**: supos-app-maven-plugin
- **Description**: maven plugin 用于生成符合supOS上架规范的安装包
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2020-11-20
- **Last Updated**: 2022-04-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 用于生成符合supOS上架规范的安装包
## 环境要求
apache maven: 3.5+
## 使用方法
### 安装插件
使用命令行工具进入supos-app-maven-plugin的根目录,并执行mvn install 安装插件
命令行代码:
```
mvn install
```

出现如下“BUILD SUCCESS”表示成功安装到本地maven仓库

### 在Maven工程中pom文件加入该插件的坐标信息
当前插件的版本为1.0.0
```
com.supos.plugin
supos-app-maven-plugin
1.0.0
此处放入配置信息,configuration具体配置请往下看
```

### 配置configuration参数
插件生成配置文件会从这些属性中获取信息,开发者可以在示例的基础上进行修改
### 字段含义
| 属性名称 | 含义 | 是否必填 |
| ------ | ------ |------ |
| app.apiVersion | APP平台API的版本号,默认为v1alpha1 |否|
| app.showName | 相对于name的一个扩展名称,当apiVersion为v2alpha1时,必填 |否|
| app.vendorName | 定义APP开发者或组织的名称,由英文字符、数字组成 |是|
| app.name | 应用名称,默认取值project.name |是|
| app.appVersion | 版本号,默认取值project.version |是|
| app.description | 应用描述,默认取值project.description |是|
| compose.replicas | 副本个数,默认1|否|
| compose.containersName | 容器名称,默认server |否|
| compose.containerPort | 容器端口,默认8080|否|
| compose.mountPath | mountPath,默认/server-data|否|
| compose.requestsMemory | 副本个数,默认512Mi|否|
| compose.resourcesCpu | 副本个数,默认1000m|否|
| compose.limitsMemory | 副本个数,默认1024Mi|否|
| compose.limitsCpu | 副本个数,默认2000m|否|
| compose.portsPort | 副本个数,默认8080|否|
| compose.portsTargetPort | 副本个数,默认8080|否|
| compose.proxyPath | 副本个数,默认/|否|
| compose.proxyServicePort | 副本个数,默认8080|否|
| vendor.bluetronId | supOS开发者ID |是|
| vendor.organization | 组织名称 |是|
| vendor.url | 组织网址 |是|
| vendor.email | 组织邮箱 |是|
| vendor.copyright | 组织版权 |是|
| vendor.address | 组织地址 |是|
| baseDockerImage | 基础镜像地址 |是|
### 示例
```
supossamples
${project.name}
${project.version}
${project.description}
1
server
8080
/server-data
512Mi
1000m
1024Mi
2000m
8080
8080
/
8080
123123
bluetron
www.123.com
123@qq.com
bluetron (c) 2019
杭州市滨江区
registry.supos.ai/library/openjdk:8-jdk-alpine
```
### 在命令行窗口进入工程的根目录
例如:
```
D:
cd D:\git\saas-app
```
### 执行工程的打包命令
```
mvn clean package
```
### 执行生成APP配置文件命令
```
mvn supos-app:generate -Dfile.encoding=UTF-8
```
执行完成并提示“BUILD SUCCESS” 后,会在项目根目录/target下生成supos文件夹,里面包含生成好的配置文件

### 手动配置data/resource.yaml 页面配置文件
进入data目录,用文本工具打开resource.yaml,根据示例填写页面配置信息,并保存

### 配置Dockerfile文件
因为Dockerfile相对自定义程度较高,开发者需要将自己的Dockerfile文件编写好,放到/bin目录下,样例可以参考通过本插件生成的Dockerfile
### 执行生成符合supOS规范的安装包
```
mvn supos-app:packageInstallationFile
```
最后会在工程的target目录下生成{project-name}-{version}-Final.zip文件
