您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

基于Docker与Jenkins实现自动化部署的原理解析

51自学网 2022-07-22 18:48:51
  网站维护

原理:Jenkins构建(开发提交代码到代码管理平台),Jenkins处理(Jenkins获取远程代码,自动将源代码实现打包,执行shell脚本启动)。

Linux安装Docker

sudo yum install -y yum-utilssudo yum-config-manager /    --add-repo /    https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl start docker

aliyun配置镜像加速器

配置镜像加速器针对Docker客户端版本大于 1.10.0 的用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{  "registry-mirrors": ["https://r27gglie.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

基于Docker安装Jenkins环境

1、使用docker安装jenkins

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

2、进入到docker容器查看密钥
docker exec -it dfe5e689b6c9 /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

3、打开8080网页并输入密钥
970cbd92daba4a54ad593ff4c44449e2

将本地项目上传到码云代码管理平台
https://gitee.com/kolorbgg/devops.git
https://gitee.com/yushengjun644/mayikt-springboot.git
https://www.jianshu.com/p/e50cb1448a16
报错则使用强制推:
git push -u origin +master #强制push

Jenkins全局工具配置

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

安装Jenkins对应的Maven插件

“系统管理”——》“安装插件”,点击“可选插件”,找到Maven Integration

Jenkins新建任务构建SpringBoot

源码管理:

Pre Steps

立即构建:

容器里查看:

docker exec -it dfe5e689b6c9 /bin/bashcd /var/jenkins_home/workspace/devops/target/

Jenkins实现后台启动任务-shell
Post Steps

#!/bin/bash#服务名称SERVER_NAME=devops# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  JAR_NAME=devops-1.0-SNAPSHOT# 源jar路径  #/usr/local/jenkins_home/workspace--->jenkins 工作目录#demo 项目目录#target 打包生成jar包的目录JAR_PATH=/var/jenkins_home/workspace/devops/target# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建JAR_WORK_PATH=/var/jenkins_home/workspace/devops/targetecho "查询进程id-->$SERVER_NAME"PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`echo "得到进程ID:$PID"echo "结束进程"for id in $PIDdo	kill -9 $id  	echo "killed $id"  doneecho "结束进程完成"#复制jar包到执行目录echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATHecho "复制jar包完成"cd $JAR_WORK_PATH#修改文件权限chmod 755 $JAR_NAME.jar# java -jar $JAR_NAME.jar# 上面指的是前台启动# 后台启动BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

sudo systemctl restart dockerdocker rm $(sudo docker ps -a -q)docker run -p 8080:8080 -p 8082:8082 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

访问:http://10.0.100.136:8082/getMayikt


下载地址:
docker容器的创建及常用操作命令详解
docker镜像的拉取登陆上传及保存等相关使用命令
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1