jenkins之自动化部署github上maven项目
2024-08-30 12:51:24
部署流程:将代码从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/
好了,这样完成了配置
最新文章
- Vertica集群扩容实验过程记录
- 解决Ubuntu ";E: 软件包 vim 还没有可供安装的候选者";问题
- EasyUI DataGrid getChecked/getSelections 获取不到数据
- Javascript隐式转换
- JAVA 往jar包添加class文件
- linux下的deb/rpm文件的说明和安装方法
- unity shader在小米2s上的问题
- 学习资料 经典SQL语句大全
- asp.net断点续传技术---下载(转)
- ZOJ	1003 Crashing Balloon
- jq的合成事件
- asp.net core 开发的https证书服务-agilelabs.net
- vi命令加行号查找替换等命令
- MyEclipse中好用的快捷键汇总
- Node.js在任意目录下使用express命令‘不是内部或外部命令’解决方法
- HighCharts之2D柱状图、折线图的组合多轴图
- 谈谈IE针对Ajax请求结果的缓存
- Lambda表达式树构建(上)
- Redis Scan命令
- vcf格式简介
热门文章
- 奇妙的算法【7】-贪婪算法-dp
- SpringFramework5.0 @Indexed注解 简单解析
- vue中子组件的created、mounted钩子中获取不到props中的值问题
- 减少打包组件vue.config.js——Webpack的externals的使用
- js基本对象
- Flutter自定义绘制(1)- 绘制基础
- Linux命令——mkdir、rmdir
- 关于在window8上使用ssh命令的记录
- vue 标题上下滚屏 无缝轮播
- [flask初学问题]RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/