Skip to content

Commit ac76546

Browse files
committed
新增查看服务运行状态的脚本支持,发布 v1.3.2 正式版
1 parent c6aa581 commit ac76546

File tree

8 files changed

+45
-17
lines changed

8 files changed

+45
-17
lines changed

README.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# jpack-maven-plugin
22

3-
[![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.3.1/maven-plugin) [![Javadocs](https://img.shields.io/badge/javadoc-1.3.1-brightgreen.svg)](https://www.javadoc.io/doc/com.blinkfox/jpack-maven-plugin/1.3.1)
3+
[![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.3.2/maven-plugin) [![Javadocs](https://img.shields.io/badge/javadoc-1.3.2-brightgreen.svg)](https://www.javadoc.io/doc/com.blinkfox/jpack-maven-plugin/1.3.2)
44

55
> 这是一个用于对 SpringBoot 服务打包为 Windows、Linux 和 Docker 下可发布部署包的 Maven 插件。
66
77
## 特性
88

9-
- 简单易用
9+
- 简单易用,基于**约定优于配置**的思想来构建部署包
1010
- 支持打包为 `Windows``Linux``Docker` 下的发布部署包,也可单独选择打某些平台下的部署包
1111
- `Windows`部署包可以安装为服务,从 `Windows` 的服务界面中来启动和停止应用服务,且默认为开机自启动
1212
- 支持 `Docker` 的镜像构建、导出镜像 `tar` 包和推送镜像到远程仓库等功能
@@ -29,7 +29,7 @@
2929
<plugin>
3030
<groupId>com.blinkfox</groupId>
3131
<artifactId>jpack-maven-plugin</artifactId>
32-
<version>1.3.1</version>
32+
<version>1.3.2</version>
3333
</plugin>
3434
</plugins>
3535
</build>
@@ -46,7 +46,7 @@ mvn clean package jpack:build
4646
然后,执行成功之后,你将在 Maven 控制台看到如下输出:
4747

4848
```bash
49-
[INFO] --- jpack-maven-plugin:1.3.1:build (default-cli) @ web-demo ---
49+
[INFO] --- jpack-maven-plugin:1.3.2:build (default-cli) @ web-demo ---
5050
[INFO] -------------------------- jpack start packing... -------------------------
5151
__ __
5252
|__|______ _____ ____ | | __
@@ -91,7 +91,7 @@ openjdk 8-jdk-alpine a3562aa0b991 6 days ag
9191
<plugin>
9292
<groupId>com.blinkfox</groupId>
9393
<artifactId>jpack-maven-plugin</artifactId>
94-
<version>1.3.1</version>
94+
<version>1.3.2</version>
9595
<executions>
9696
<execution>
9797
<goals>
@@ -118,6 +118,7 @@ openjdk 8-jdk-alpine a3562aa0b991 6 days ag
118118
- `start.bat`: 启动服务的可执行脚本
119119
- `stop.bat`: 停止服务的可执行脚本
120120
- `restart.bat`: 重启服务的可执行脚本
121+
- `status.bat`: 查看服务运行状态的可执行脚本
121122
- `web-demo-1.0.0.exe`: 可执行的二进制文件,可不用管
122123
- `web-demo-1.0.0.exe.config`: 也可不用管
123124
- `web-demo-1.0.0.xml`: 服务执行相关的配置文件,一般情况下不需要修改
@@ -129,7 +130,7 @@ openjdk 8-jdk-alpine a3562aa0b991 6 days ag
129130
130131
**注意事项**
131132
132-
- 5个 `.bat` 可执行脚本,请以管理员的身份运行
133+
- 6 个 `.bat` 可执行脚本,请以管理员的身份运行;
133134
- 请先执行 `install.bat` 来安装为 `windows` 服务,安装服务只需要执行一次即可,以后就可以通过 `Windows` 服务界面来启动了,且默认是开机自启动;
134135
- `bin` 目录下的文件不要移动,各文件的文件名无特殊情况也不要修改;
135136
- 命令运行时,可能会提示安装 `.NET`, 安装完成就可运行命令了,不过现在大部分的 Windows 服务器或者个人电脑都会默认安装了 `.NET`, 没有的话启用一下就好了;
@@ -142,6 +143,7 @@ openjdk 8-jdk-alpine a3562aa0b991 6 days ag
142143
- `start.sh`: 启动服务的 shell 脚本
143144
- `stop.sh`: 停止服务的 shell 脚本
144145
- `restart.sh`: 重启服务的 shell 脚本
146+
- `status.sh`: 查看服务运行状态的 shell 脚本
145147
- `config`: 存放 `application.yml` 等配置文件的目录(可自定义复制配置文件到此目录,方便部署时按需修改,SpringBoot 启动时会自动读取)
146148
- `docs`: 存放文档的目录(可自定义复制文档到此目录,方便部署时查阅文档)
147149
- `logs`: 存放日志的目录(建议 SpringBoot 的日志存放到 jar 包同级的 logs 目录中)
@@ -150,7 +152,7 @@ openjdk 8-jdk-alpine a3562aa0b991 6 days ag
150152
151153
**注意事项**
152154
153-
- 各个可执行脚本请以 `sh` 命令来执行,如:`sh start.sh`
155+
- 各个可执行脚本请以 `bash` 命令来执行,如:`bash start.sh`,或者对 `bin` 目录添加可执行权限(`chmod -R 755 bin`),然后执行 `./start.sh` 即可
154156
155157
### Docker
156158
@@ -163,7 +165,7 @@ openjdk 8-jdk-alpine a3562aa0b991 6 days ag
163165
<plugin>
164166
<groupId>com.blinkfox</groupId>
165167
<artifactId>jpack-maven-plugin</artifactId>
166-
<version>1.3.1</version>
168+
<version>1.3.2</version>
167169
<executions>
168170
<execution>
169171
<goals>
@@ -537,7 +539,7 @@ jpack 的所有配置参数都非必填或者有默认值。下面是 jpack Mave
537539
<plugin>
538540
<groupId>com.blinkfox</groupId>
539541
<artifactId>jpack-maven-plugin</artifactId>
540-
<version>1.3.1</version>
542+
<version>1.3.2</version>
541543
<executions>
542544
<execution>
543545
<goals>
@@ -640,8 +642,11 @@ jpack 的所有配置参数都非必填或者有默认值。下面是 jpack Mave
640642
641643
## 版本记录
642644
645+
- v1.3.2(2019-09-08)
646+
- 新增了 Windows 和 Linux 下查看服务运行状态(`status`)的脚本;
647+
- 修改了 Linux 发布包脚本中的 `shell` 声明为 `bash`
643648
- v1.3.1(2019-08-21)
644-
- 修改默认构建的 `Dockerfile``target` 目录下读取 jar 包;
649+
- 修改了默认构建的 `Dockerfile``target` 目录下读取 jar 包;
645650
- v1.3.0(2019-06-04)
646651
- 修改了 jpack 默认的 Dockerfile 的一些指令为从配置文件读取;
647652
- 新增了 `fromImage`, `expose`, `volumes`, `customCommands` 4项 jpack 默认提供的 Dockerfile 的指令配置;

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.blinkfox</groupId>
66
<artifactId>jpack-maven-plugin</artifactId>
7-
<version>1.3.2-SNAPSHOT</version>
7+
<version>1.3.2</version>
88
<packaging>maven-plugin</packaging>
99

1010
<name>jpack-maven-plugin</name>

src/main/java/com/blinkfox/jpack/handler/impl/LinuxPackHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ private void renderShell() {
4848
TemplateKit.renderFile("linux/bin/start.sh", context, bin + "start.sh");
4949
TemplateKit.renderFile("linux/bin/stop.sh", context, bin + "stop.sh");
5050
TemplateKit.renderFile("linux/bin/restart.sh", context, bin + "restart.sh");
51+
TemplateKit.renderFile("linux/bin/status.sh", context, bin + "status.sh");
5152
} catch (IOException e) {
5253
Logger.error("渲染 shell 模板内容并写入 bin 目录中出错!", e);
5354
}

src/main/java/com/blinkfox/jpack/handler/impl/WindowsPackHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class WindowsPackHandler extends AbstractPackHandler {
2323
/**
2424
* bat 文件的名称数组.
2525
*/
26-
private static final String[] BAT_NAME_ARR = {"install", "uninstall", "start", "stop", "restart"};
26+
private static final String[] BAT_NAME_ARR = {"install", "uninstall", "start", "stop", "restart", "status"};
2727

2828
/**
2929
* 根据打包的相关参数,将该 Maven 项目打包成 Windows 中的可部署包的方法.

src/main/resources/linux/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
- `start.sh`: 启动服务的 shell 脚本
1111
- `stop.sh`: 停止服务的 shell 脚本
1212
- `restart.sh`: 重启服务的 shell 脚本
13+
- `status.sh`: 查看服务运行状态的 shell 脚本
1314
- `config`: 存放 `application.yml` 等配置文件的目录
1415
- `docs`: 存放文档的目录
1516
- `logs`: 存放日志的目录
@@ -18,4 +19,4 @@
1819

1920
## 注意事项
2021

21-
- 各个可执行脚本请以 `sh` 命令来执行,如:`sh start.sh`
22+
- 各个可执行脚本请以 `bash` 命令来执行,如:`bash start.sh`,或者对 `bin` 目录添加可执行权限(`chmod -R 755 bin`),然后执行 `./start.sh` 即可
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#! /bin/bash
2+
3+
#=====================================================================
4+
# 查看应用服务是否启动或停止状态的 shell 脚本
5+
# 通过项目名称查找到 PID
6+
#=====================================================================
7+
8+
# 项目名称
9+
APPLICATION="${name}"
10+
11+
if [[ -z "$1" ]]
12+
then
13+
pid=`ps ax |grep -i '${jarName}' |grep java | grep -v grep | awk '{print $1}'`
14+
else
15+
pid=`ps ax |grep -i '${jarName}' |grep java | grep -i 'server.port='''${1}''''| grep -v grep | awk '{print $1}'`
16+
fi
17+
18+
if [[ -z "$pid" ]] ; then
19+
echo "未监测到 \${APPLICATION} 服务. [not running!]"
20+
exit 0;
21+
fi
22+
23+
echo "\${APPLICATION} 服务正在运行中 (PID: \${pid}). [is running ...]"

src/main/resources/linux/bin/stop.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
# 项目名称
1010
APPLICATION="${name}"
1111

12-
# 项目启动jar包名称
13-
APPLICATION_JAR="${jarName}"
14-
1512
if [[ -z "$1" ]]
1613
then
1714
pid=`ps ax |grep -i '${jarName}' |grep java | grep -v grep | awk '{print $1}'`

src/main/resources/windows/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
- `start.bat`: 启动服务的可执行脚本
1313
- `stop.bat`: 停止服务的可执行脚本
1414
- `restart.bat`: 重启服务的可执行脚本
15+
- `status.bat`: 查看服务运行状态的可执行脚本
1516
- `web-demo-1.0.0.exe`: 可执行的二进制文件,可不用管
1617
- `web-demo-1.0.0.exe.config`: 也可不用管
1718
- `web-demo-1.0.0.xml`: 服务执行相关的配置文件,一般情况下不需要修改
@@ -23,7 +24,7 @@
2324

2425
## 注意事项
2526

26-
- 5个 `.bat` 可执行脚本,请以管理员的身份运行;
27+
- 6 个 `.bat` 可执行脚本,请以管理员的身份运行;
2728
- 请先执行 `install.bat` 来安装为 `windows` 服务,安装服务只需要执行一次即可,以后就可以通过 `Windows` 服务界面来启动了,且默认是开机自启动;
2829
- `bin` 目录下的文件不要移动,各文件的文件名无特殊情况也不要修改;
2930
- 命令运行时,可能会提示安装 `.NET`, 安装完成就可运行命令了,不过现在大部分的 `Windows` 服务器或者个人电脑都会默认安装了 `.NET`, 没有的话启用一下就好了;

0 commit comments

Comments
 (0)