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

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

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-猿站网-插图

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-1猿站网-插图

Linux安装Docker

sudo yum install -y yum-utils sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker

aliyun配置镜像加速器

配置镜像加速器 针对Docker客户端版本大于 1.10.0 的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-“EOF” { “registry-mirrors”: [“https://r27gglie.mirror.aliyuncs.com”] } EOF sudo systemctl daemon-reload sudo 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

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-2猿站网-插图

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

970cbd92daba4a54ad593ff4c44449e2

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-3猿站网-插图

将本地项目上传到码云代码管理平台

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环境安装地址

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-4猿站网-插图

安装Jenkins对应的Maven插件

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

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-5猿站网-插图

Jenkins新建任务构建SpringBoot

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-6猿站网-插图

源码管理:

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-7猿站网-插图

Pre Steps

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-8猿站网-插图

立即构建:

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-9猿站网-插图

容器里查看:

docker exec -it dfe5e689b6c9 /bin/bash cd /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/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 # java -jar $JAR_NAME.jar # 上面指的是前台启动 # 后台启动 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

%小知识:基于Docker与Jenkins实现自动化部署的原理解析-10猿站网-插图

sudo systemctl restart docker docker 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与Jenkins实现自动化部署的文章就介绍到这了,更多相关Docker Jenkins自动化部署内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_39578545/article/details/124094841

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:docker镜像的拉取登陆上传及保存等相关使用命令

2023-3-7 21:53:48

建站知识

小知识:docker容器的创建及常用操作命令详解

2023-3-7 23:56:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索