跳转至

4.1 APP打包插件


用于生成符合supOS上架规范的安装包

1. 环境要求

apache maven: 3.5+

2. 使用方法

【下载supos-app-maven-plugin】

2.1 安装插件

使用命令行工具进入supos-app-maven-plugin的根目录,并执行mvn install 安装插件

mvn install

安装插件

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

安装插件成功

2.2 在Maven工程中pom文件加入该插件的坐标信息

当前插件的版本为1.0.0

<plugins>
    <plugin>
        <groupId>com.supos.plugin</groupId>
        <artifactId>supos-app-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
            此处放入配置信息configuration具体配置请往下看
        </configuration>
    </plugin>
</plugins>

pom文件

2.3 配置configuration参数

插件生成配置文件会从这些属性中获取信息,开发者可以在示例的基础上进行修改

2.4 安装包文件字段含义

属性名称 含义 是否必填
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 基础镜像地址

2.5 示例

    <configuration>
        <app>
            <vendorName>supossamples</vendorName>
            <name>${project.name}</name>
            <appVersion>${project.version}</appVersion>
            <description>${project.description}</description>
        </app>
        <compose>
            <replicas>1</replicas>
            <containersName>server</containersName>
            <containerPort>8080</containerPort>
            <mountPath>/server-data</mountPath>
            <requestsMemory>512Mi</requestsMemory>
            <resourcesCpu>1000m</resourcesCpu>
            <limitsMemory>1024Mi</limitsMemory>
            <limitsCpu>2000m</limitsCpu>
            <portsPort>8080</portsPort>
            <portsTargetPort>8080</portsTargetPort>
            <proxyPath>/</proxyPath>
            <proxyServicePort>8080</proxyServicePort>
        </compose>
        <vendor>
            <bluetronId>123123</bluetronId>
            <organization>bluetron</organization>
            <url>www.123.com</url>
            <email>123@qq.com</email>
            <copyright>bluetron (c) 2019</copyright>
            <address>杭州市滨江区</address>
        </vendor>
        <baseDockerImage>registry.supos.ai/library/openjdk:8-jdk-alpine</baseDockerImage>
    </configuration>

2.6 在命令行窗口进入工程的根目录

例如:

D:

cd D:\git\saas-app

2.7 执行工程的打包命令

mvn clean package

2.8 执行生成APP配置文件命令

mvn supos-app:generate -Dfile.encoding=UTF-8

执行完成并提示 BUILD SUCCESS 后,会在项目根目录 /target 下生成 supos 文件夹,里面包含生成好的配置文件。

配置文件命令

2.9 配置data/resource.yaml

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

配置data/resource.yaml

2.10 配置Dockerfile文件

Dockerfile相对自定义程度较高,开发者需要将自己的Dockerfile文件编写好,放到/bin目录下,样例可以参考通过本插件生成的Dockerfile。

2.11 生成安装包

mvn supos-app:packageInstallationFile

最后会在工程的target目录下生成{project-name}-{version}-Final.zip文件

生成安装包