Skip to content

Commit 573be1c

Browse files
committed
修改最新的 README.md 文档
1 parent 1fa19f4 commit 573be1c

File tree

2 files changed

+93
-5
lines changed

2 files changed

+93
-5
lines changed

README.md

Lines changed: 92 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
[![HitCount](http://hits.dwyl.io/blinkfox/jpack-maven-plugin.svg)](https://github.com/blinkfox/jpack-maven-plugin) [![Build Status](https://secure.travis-ci.org/blinkfox/jpack-maven-plugin.svg)](https://travis-ci.org/blinkfox/jpack-maven-plugin) [![GitHub license](https://img.shields.io/github/license/blinkfox/jpack-maven-plugin.svg)](https://github.com/blinkfox/jpack-maven-plugin/blob/master/LICENSE) [![codecov](https://codecov.io/gh/blinkfox/jpack-maven-plugin/branch/master/graph/badge.svg)](https://codecov.io/gh/blinkfox/jpack-maven-plugin) ![Java Version](https://img.shields.io/badge/Java-%3E%3D%208-blue.svg) [![Maven Central](https://img.shields.io/maven-central/v/com.blinkfox/jpack-maven-plugin.svg)](https://search.maven.org/artifact/com.blinkfox/jpack-maven-plugin/1.5.1/maven-plugin) [![Javadocs](https://img.shields.io/badge/javadoc-1.5.1-brightgreen.svg)](https://www.javadoc.io/doc/com.blinkfox/jpack-maven-plugin/1.5.1)
44

5-
> 这是一个用于对 SpringBoot 服务打包为 Windows、Linux 和 Docker 下可发布部署包的 Maven 插件。
5+
> 这是一个用于对 SpringBoot 服务打包为 Windows、Linux 和 Docker 下可发布部署包的 Maven 插件。[参考示例项目(jpack-demo)](https://github.com/blinkfox/jpack-demo)
66
77
## 一、特性
88

99
- 简单易用,基于**约定优于配置**的思想来构建部署包
1010
- 支持打包为 `Windows``Linux``Docker` 下的发布部署包,也可单独选择打某些平台下的部署包
1111
- `Windows`部署包可以安装为服务,从 `Windows` 的服务界面中来启动和停止应用服务,且默认为开机自启动
12-
- 支持 `Docker` 的镜像构建、导出镜像 `tar` 包和推送镜像到远程仓库或远程私有仓库等功能
12+
- 支持 `Docker` 的镜像构建、导出镜像 `tgz` 包和推送镜像到远程仓库或远程私有仓库等功能
1313
- 支持 `Helm Chart` 的打包、推送和连带镜像一起导出 `tgz` 包的功能
1414
- jpack 内部默认提供了一个简单通用的 `Dockerfile` 来构建 SpringBoot 服务的镜像,也支持自定义 `Dockerfile` 来构建镜像
1515
- 可自定义复制文件资源到部署包中,例如通常发布时需要的:数据库脚本、文档说明等
@@ -270,6 +270,7 @@ docker run -d -p 7070:7070 -e JVM_OPTS="-Xms512m -Xmx1024m" -e PROGRAM_ARGS="--s
270270
<param>push</param>
271271
<param>save</param>
272272
</goals>
273+
<!-- 推送 Chart 到 Harbor 中的 registry 用户密码信息,可以进行 AES 加密. -->
273274
<registryUser>
274275
<username>your-username</username>
275276
<password>your-password</password>
@@ -279,7 +280,17 @@ docker run -d -p 7070:7070 -e JVM_OPTS="-Xms512m -Xmx1024m" -e PROGRAM_ARGS="--s
279280
</plugin>
280281
```
281282
282-
> 待继续完善....
283+
- Helm Chart 的构建支持打包为 `tgz` 包,便于上传到 Harbor Registry 仓库中;
284+
- 你也可以通过配置 `chartRepoUrl``registryUser` 来将 Chart 直接推送到 Harbor 远程仓库中;
285+
- 也可以将 Chart 包和所需的镜像包一起打包,共通导出成离线应用包。
286+
287+
离线应用包内容结果如下:
288+
289+
- `config`: 存放 `application.yml` 等配置文件的目录,便于部署时参考和设置配置项;
290+
- `docs`: 存放文档的目录(可自定义复制文档到此目录,方便部署和应用使用时查阅相关文档)
291+
- `jpack-demo-1.0.0.tgz`: 打包后的 Chart 包。
292+
- `images.tgz`: Chart 所需的**离线镜像包**,可以自定义导出多个镜像包为一个镜像包,也可以默认使用 jpack 自身构建的 Docker 镜像包。
293+
- `README.md`: 主入口说明文件
283294
284295
## 四、jpack configuration 配置详解
285296
@@ -612,6 +623,60 @@ jpack 的所有配置参数都非必填或者有默认值。以下是关于 jpac
612623
</plugin>
613624
```
614625
626+
### 12. helmChart
627+
628+
这是用于专门对 Helm Chart 平台进行构建的配置项,`v1.5.0` 版本新增,主要包括前面提到的如下几个子配置项及 Helm Chart 平台下特有的一些配置项,用法同前面类似,不再赘述:
629+
630+
- `location`: helm chart 源文件的目录位置,目前仅支持本地文件的绝对路径或相对 `pom.xml` 的相对路径。
631+
- `chartRepoUrl`: 要推送 Helm Chart 包所在 Harbor Registry 仓库的 API URL 地址,示例如:`http://registry.yourcompany.com:5000/api/chartrepo/blinkfox/charts`,将 `yourcompany``blinkfox` 替换成你自己的公司仓库和项目名称。
632+
- `useDockerImage`: 导出离线应用包(`save`)时,是后也导出使用 jpack 当前构建的镜像,仅设置为 `true` 时为真。
633+
- `saveImages`: 导出离线应用包(`save`)时,需要一起导出的离线镜像包,值为一个数组,可以配置多个镜像,也可以同时和 `useDockerImage` 参数一起生效。
634+
- `saveImageFileName`: 表示导出镜像时的镜像文件名称,不填写则默认是 `images.tgz`
635+
- `goals`: Helm Chart 相关的构建目标,如果不填写任何目标,则不会作任何构建任务。目前最多可以填写三个目标:打包 Chart(`package`)、推送 Chart(`push`)和导出应用包(`save`)。
636+
- `configFiles`: 针对 Helm Chart 可以一起打包的 Spring Boot 应用的配置文件配置。如果你配置了这个值,那么在 helmChart 下将会覆盖通用的 `configFiles` 的值。
637+
- `copyResources`: 针对 Helm Chart 的资源复制。如果你配置了这个值,那么在导出应用包时会额外复制这些资源到离线应用包中。
638+
- `excludeFiles`: 针对 Helm Chart 的资源排除。如果你配置了这个值,那么会额外从离线应用包中排除这些资源。
639+
- `registryUser`:当推送 Chart 到私有权限限制的镜像仓库中时,可以填写如下用户权限认证信息。通常,至少需要填写用户名和密码。该值和 Docker 平台中的 `registryUser` 可以相互使用,如果两个平台的配置都存在的话,那么你只需要在某一个平台中配置一次即可。
640+
- `username`:registry 仓库的用户名。可以对用户名进行加密,只要将用户名以 `ENCRYPT#` 开头就表示是加过密的用户名,否则说明直接使用原文。
641+
- `password`:registry 仓库的密码。可以对密码进行加密,只要将文本内容以 `ENCRYPT#` 开头就表示是加过密的密码,否则说明直接使用原文密码。
642+
643+
> 注:关于 `registryUser` 中的用户名或密码加密,你可以使用 jpack 中的 `AesKit.encrypt("your-username");` 方法进行加密。该种加密并不安全,意在防君子,防不了小人。Docker 和 Helm Chart 平台中的 `registryUser` 可以相互使用,如果两个平台的配置都存在的话,那么你只需要在某一个平台中配置一次即可。
644+
645+
示例如下:
646+
647+
```xml
648+
<plugin>
649+
<groupId>com.blinkfox</groupId>
650+
<artifactId>jpack-maven-plugin</artifactId>
651+
...
652+
<configuration>
653+
<helmChart>
654+
<!-- helm chart 源文件的目录位置,目前仅支持本地文件的绝对路径或相对 pom.xml 的相对路径. -->
655+
<location>src/test/resources/hello-helm</location>
656+
<!-- 要推送 helm chart 所在仓库的 API URL 地址. -->
657+
<chartRepoUrl>http://registry.yourcompany.com:5000/api/chartrepo/blinkfox/charts</chartRepoUrl>
658+
<!-- 该值表示 save 导出时,是否使用本插件 Docker 构建的镜像,将其也导出到最终的镜像包中,默认为 false. -->
659+
<useDockerImage>false</useDockerImage>
660+
<!-- goals 中有 save 时,需要导出的镜像名称或有标签的镜像名称,不填写会默认从上面 Docker 导出的镜像中获取. -->
661+
<saveImages>
662+
<param>registry.yourcompany.com:5000/blinkfox/jpack-test:1.0.0-SNAPSHOT</param>
663+
</saveImages>
664+
<!-- 表示导出镜像时的镜像文件名称,不填写,则默认是 'images.tgz'. -->
665+
<saveImageFileName></saveImageFileName>
666+
<goals>
667+
<param>package</param>
668+
<param>push</param>
669+
<param>save</param>
670+
</goals>
671+
<registryUser>
672+
<username>blinkfox</username>
673+
<password>123456</password>
674+
</registryUser>
675+
</helmChart>
676+
</configuration>
677+
</plugin>
678+
```
679+
615680
## 五、更全的配置示例及说明
616681
617682
jpack 的所有配置参数都非必填或者有默认值。下面是 jpack Maven 插件的所有配置项配置示例如下:
@@ -620,7 +685,7 @@ jpack 的所有配置参数都非必填或者有默认值。下面是 jpack Mave
620685
<plugin>
621686
<groupId>com.blinkfox</groupId>
622687
<artifactId>jpack-maven-plugin</artifactId>
623-
<version>1.5.0</version>
688+
<version>1.5.1</version>
624689
<executions>
625690
<execution>
626691
<goals>
@@ -695,6 +760,29 @@ jpack 的所有配置参数都非必填或者有默认值。下面是 jpack Mave
695760
</registryUser>
696761
...
697762
</docker>
763+
<helmChart>
764+
<!-- helm chart 源文件的目录位置,目前仅支持本地文件的绝对路径或相对 pom.xml 的相对路径. -->
765+
<location>src/test/resources/hello-helm</location>
766+
<!-- 要推送 helm chart 所在仓库的 API URL 地址. -->
767+
<chartRepoUrl>http://registry.yourcompany.com:5000/api/chartrepo/blinkfox/charts</chartRepoUrl>
768+
<!-- 该值表示 save 导出时,是否使用本插件 Docker 构建的镜像,将其也导出到最终的镜像包中,默认为 false. -->
769+
<useDockerImage>false</useDockerImage>
770+
<!-- goals 中有 save 时,需要导出的镜像名称或有标签的镜像名称,不填写会默认从上面 Docker 导出的镜像中获取. -->
771+
<saveImages>
772+
<param>registry.yourcompany.com:5000/blinkfox/jpack-test:1.0.0-SNAPSHOT</param>
773+
</saveImages>
774+
<!-- 表示导出镜像时的镜像文件名称,不填写,则默认是 'images.tgz'. -->
775+
<saveImageFileName></saveImageFileName>
776+
<goals>
777+
<param>package</param>
778+
<param>push</param>
779+
<param>save</param>
780+
</goals>
781+
<registryUser>
782+
<username>blinkfox</username>
783+
<password>123456</password>
784+
</registryUser>
785+
</helmChart>
698786
<!-- 需要copy 哪些资源(from 的值可以是目录或者具体的相对、绝对或网络资源路径)到部署包中的某个目录;
699787
to 的值只能是目录,为空或者 '.' 或者 '/' 符号则表示复制到各平台包的根目录中,否则就复制到具体的目录下 -->
700788
<copyResources>

src/test/resources/jpack-test-helmChart.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<param>HelmChart</param>
4848
</platforms>
4949
<helmChart>
50-
<!-- helm chart 源文件的目录位置,目前仅支持本地文件的绝对或相对路径. -->
50+
<!-- helm chart 源文件的目录位置,目前仅支持本地文件的绝对路径或相对 pom.xml 的相对路径. -->
5151
<location>src/test/resources/hello-helm</location>
5252
<!-- 要推送 helm chart 所在仓库的 API URL 地址. -->
5353
<chartRepoUrl>http://registry.yourcompany.com:5000/api/chartrepo/blinkfox/charts</chartRepoUrl>

0 commit comments

Comments
 (0)