这篇文章主要介绍了基于Docker与Jenkins实现自动化部署,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
原理:Jenkins构建(开发提交代码到代码管理平台),Jenkins处理(Jenkins获取远程代码,自动将源代码实现打包,执行shell脚本启动)。
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
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/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 &
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自动化部署内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:基于Docker与Jenkins实现自动化部署的原理解析


基础教程推荐
- Apache服务器配置攻略3 2022-09-01
- 实战Nginx_取代Apache的高性能Web服务器 2023-09-29
- linux之conda环境安装全过程 2023-07-11
- linux下安装apache与php;Apache+PHP+MySQL配置攻略 2023-08-07
- 服务器添加git钩子的步骤 2022-12-12
- centos 7 安装及配置zabbix agent 2023-09-24
- IIS 6 的 PHP 最佳配置方法 2022-09-01
- apache和nginx结合使用 2023-09-10
- Apache Hudi数据布局黑科技降低一半查询时间 2022-10-06
- nginx.conf(centos7 1.14)主配置文件修改 2023-09-23