部署流程:将代码从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安装

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

4.设置源码管理

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

5.设置构建

注意Root POM为相对路径

6.发送到服务器并运行

6.1创建SSH server

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

6.2其他设置

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查看输出

点击“控制台输出”

8.测试

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

好了,这样完成了配置

最新文章

  1. Vertica集群扩容实验过程记录
  2. 解决Ubuntu "E: 软件包 vim 还没有可供安装的候选者"问题
  3. EasyUI DataGrid getChecked/getSelections 获取不到数据
  4. Javascript隐式转换
  5. JAVA 往jar包添加class文件
  6. linux下的deb/rpm文件的说明和安装方法
  7. unity shader在小米2s上的问题
  8. 学习资料 经典SQL语句大全
  9. asp.net断点续传技术---下载(转)
  10. ZOJ 1003 Crashing Balloon
  11. jq的合成事件
  12. asp.net core 开发的https证书服务-agilelabs.net
  13. vi命令加行号查找替换等命令
  14. MyEclipse中好用的快捷键汇总
  15. Node.js在任意目录下使用express命令‘不是内部或外部命令’解决方法
  16. HighCharts之2D柱状图、折线图的组合多轴图
  17. 谈谈IE针对Ajax请求结果的缓存
  18. Lambda表达式树构建(上)
  19. Redis Scan命令
  20. vcf格式简介

热门文章

  1. 奇妙的算法【7】-贪婪算法-dp
  2. SpringFramework5.0 @Indexed注解 简单解析
  3. vue中子组件的created、mounted钩子中获取不到props中的值问题
  4. 减少打包组件vue.config.js——Webpack的externals的使用
  5. js基本对象
  6. Flutter自定义绘制(1)- 绘制基础
  7. Linux命令——mkdir、rmdir
  8. 关于在window8上使用ssh命令的记录
  9. vue 标题上下滚屏 无缝轮播
  10. [flask初学问题]RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/