基于Docker+Jenkins实现自动化部署的方法
程序员文章站
2022-04-21 08:25:09
使用码云搭建git代码存储仓库 使用码云创建私有私有git仓库 将本地springboot项目上传到git仓库中基于docker安装jenkins环境1.使用docker 安装jenkinsdoc...
使用码云搭建git代码存储仓库
- 使用码云创建私有私有git仓库
- 将本地springboot项目上传到git仓库中
基于docker安装jenkins环境
1.使用docker 安装jenkins
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
2.访问jenkins地址 8080
注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。
3.解锁jenkins
docker exec -it 7f485bd95c3b /bin/bash 进入jenkins容器 cat /var/jenkins_home/secrets/initialadminpassword
大概需要等待3-10分钟
创建新的用户
jenkins全局工具配置
进入到jenkins容器中 echo $java_home 获取java环境安装地址
jdk环境安装
maven环境安装
安装jenkins对应maven插件
找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本
插件名称 maven integration
jenkins实现springboot项目自动部署新建一个发布任务
配置任务git账号密码
3.项目打包
clean install
点击立即构建
第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包
jenkins启动成功之后执行shll脚本
#!/bin/bash #服务名称 server_name=springboot # 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行 jar_name=springboot-0.0.1-snapshot # 源jar路径 #/usr/local/jenkins_home/workspace--->jenkins 工作目录 #demo 项目目录 #target 打包生成jar包的目录 jar_path=/var/jenkins_home/workspace/springboot/target # 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建 jar_work_path=/var/jenkins_home/workspace/springboot/target echo "查询进程id-->$server_name" pid=`ps -ef | grep "$server_name" | awk '{print $2}'` echo "得到进程id:$pid" echo "结束进程" for id in $pid do kill -9 $id echo "killed $id" done echo "结束进程完成" #复制jar包到执行目录 echo "复制jar包到执行目录:cp $jar_path/$jar_name.jar $jar_work_path" cp $jar_path/$jar_name.jar $jar_work_path echo "复制jar包完成" cd $jar_work_path #修改文件权限 chmod 755 $jar_name.jar nohub java -jar $jar_name.jar
加nohub 指的是后台运行,或者使用nohub &
容器映射8081端口
1. 重启容器
systemctl restart docker
2. 清空未运行的容器
docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080 -p 8081:8081 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
到此这篇关于基于docker+jenkins实现自动化部署的文章就介绍到这了,更多相关docker+jenkins实现自动化部署内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
下一篇: Vue三层嵌套路由的示例代码
推荐阅读
-
php基于Fleaphp框架实现cvs数据导入MySQL的方法
-
C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法
-
python基于pygame实现响应游戏中事件的方法(附源码)
-
Python基于PycURL实现POST的方法
-
Android开发基于Drawable实现圆角矩形的方法
-
C#实现基于XML配置MenuStrip菜单的方法
-
mysql基于正则实现模糊替换字符串的方法分析
-
python基于BeautifulSoup实现抓取网页指定内容的方法
-
Android编程之电池电量信息更新的方法(基于BatteryService实现)
-
PHP基于文件存储实现缓存的方法