温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker+Jenkins如何实现自动化部署

发布时间:2020-07-30 09:19:49 来源:亿速云 阅读:189 作者:小猪 栏目:开发技术

小编这次要给大家分享的是Docker+Jenkins如何实现自动化部署,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

基于Docker安装Jenkins环境

1.使用docker 安装jenkins

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2.访问jenkins地址 8080

Docker+Jenkins如何实现自动化部署

注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。

3.解锁jenkins

Docker+Jenkins如何实现自动化部署

Docker+Jenkins如何实现自动化部署

docker exec -it 7f485bd95c3b /bin/bash 进入jenkins容器 cat /var/jenkins_home/secrets/initialAdminPassword

Docker+Jenkins如何实现自动化部署

大概需要等待3-10分钟

创建新的用户

Docker+Jenkins如何实现自动化部署

Docker+Jenkins如何实现自动化部署

Jenkins全局工具配置

进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址

JDK环境安装

Docker+Jenkins如何实现自动化部署

Maven环境安装

Docker+Jenkins如何实现自动化部署

安装Jenkins对应Maven插件

找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本

插件名称 Maven Integration

Docker+Jenkins如何实现自动化部署

Docker+Jenkins如何实现自动化部署

Jenkins实现Springboot项目自动部署新建一个发布任务

Docker+Jenkins如何实现自动化部署

配置任务git账号密码

Docker+Jenkins如何实现自动化部署

3.项目打包

Docker+Jenkins如何实现自动化部署

clean install

点击立即构建

Docker+Jenkins如何实现自动化部署

第一次构建可能耗时比较长,因为需要下载一些相关依赖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如何实现自动化部署的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI