部署流程:将代码从github上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,然后构建docker镜像,运行容器。

1.安装插件

如果是第一次使用jenkins,需要检查并确认安装以下插件

首页->Manage Jenkins->Manage Plugins->可选插件,选择插件后点击直接安装

Maven Integration(maven项目的任务)

Publish Over SSH(用于构建后对服务器的操作)

2.全局工具配置

因为我是在docker里安装的所以需要确认已经安装

jdk(不用设置,已经默认安装了)

git(不用设置,已经默认安装了)

maven(没有安装,需要安装)

首页->Manage Jenkins->Global Tool Configuration->maven安装

jenkins之自动化部署github上maven项目-LMLPHP

3.创建一个maven项目的任务

jenkins之自动化部署github上maven项目-LMLPHP

4.设置源码管理

https://github.com/Peng-star-star/spring-boot-demo-hello

jenkins之自动化部署github上maven项目-LMLPHP

5.设置构建

注意Root POM为相对路径

jenkins之自动化部署github上maven项目-LMLPHP

6.发送到服务器并运行

6.1创建SSH server

首页->Manage Jenkins->Sonfigure System->Publish over SSH->新增

jenkins之自动化部署github上maven项目-LMLPHP

6.2其他设置

jenkins之自动化部署github上maven项目-LMLPHP

6.3 dockerfile

文件在github上的地址里有,将会自动pull到jenkins里,发送到服务器上。

#基于哪个镜像
FROM java:-jre-alpine
#复制文件到容器
ADD demo-0.0.-SNAPSHOT.jar /app.jar
#声明需要暴露的端口
EXPOSE
#配置容器启动后执行的命令,随机数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

6.4run.sh

文件在github上的地址里有,将会自动pull到jenkins里,发送到服务器上。

#!/bin/bash
echo "stop container"
docker stop springboot-demo;
echo "delete container"
docker rm springboot-demo;
echo "delete image"
docker rmi itmuch/springboot-demo-0.0.&&
echo "build image"
docker build -t itmuch/springboot-demo-0.0. .&&
echo "run container"
docker run -d --name springboot-demo -p : itmuch/springboot-demo-0.0.;

点击确定

7.构建

点击立即构建

7.1查看输出

jenkins之自动化部署github上maven项目-LMLPHP

点击“控制台输出”

jenkins之自动化部署github上maven项目-LMLPHP

8.测试

在浏览器输入http://172.16.1.144:9004/

jenkins之自动化部署github上maven项目-LMLPHP

好了,这样完成了配置

05-11 20:13