基于Docker+Jenkins实现自动化部署的方法

 更新时间:2020年07月29日 14:39:05   作者:明天,你好啊  
这篇文章主要介绍了基于Docker+Jenkins实现自动化部署,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

使用码云搭建Git代码存储仓库

https://gitee.com/login

  • 使用码云创建私有私有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实现自动化部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • DockerToolBox文件挂载的实现代码

    DockerToolBox文件挂载的实现代码

    这篇文章主要介绍了DockerToolBox文件挂载的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • docker容器配置启动参数

    docker容器配置启动参数

    通过添加参数,我们可以在启动 Docker 容器时灵活地配置容器的行为,本文介绍了通过命令行和 Dockerfile 两种方式添加参数的方法,并给出了常用参数的示例,希望本文能帮助您理解如何在 Docker 启动时添加参数,并正确地配置和管理 Docker容器
    2023-10-10
  • Docker容器日志查看和清理的图文教程

    Docker容器日志查看和清理的图文教程

    docker容器在运行过程中会产生日志,日志的量跟具体的容器有关,下面这篇文章主要给大家介绍了关于Docker容器日志查看和清理的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 完美卸载Docker的详细步骤

    完美卸载Docker的详细步骤

    Docker是一种流行的容器化平台,但是有时候我们可能需要卸载Docker,无论是因为需要重新安装版本,还是因为不再需要使用Docker,无论何种原因,正确地卸载Docker是很重要的,以确保系统的干净和稳定,下面跟大家详细介绍如何彻底卸载Docker的方法,让你能够轻松地清理干净
    2023-11-11
  • 从零搭建docker+jenkins+node.js自动化部署环境的方法

    从零搭建docker+jenkins+node.js自动化部署环境的方法

    这篇文章主要介绍了从零搭建docker+jenkins+node.js自动化部署环境的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker 镜像和容器的区别详解

    Docker 镜像和容器的区别详解

    这篇文章主要介绍了Docker 镜像和容器的区别详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • Docker安装Nginx教程实现图例讲解

    Docker安装Nginx教程实现图例讲解

    这篇文章主要介绍了Docker安装Nginx教程图例讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Docker学习笔记之Weave实现跨主机容器互联

    Docker学习笔记之Weave实现跨主机容器互联

    这篇文章主要介绍了Docker学习笔记之Weave实现跨主机容器互联,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • docker进阶教程之dockerfile优化镜像大小

    docker进阶教程之dockerfile优化镜像大小

    同样功能的镜像,但是不同的Dockerfile build出来的镜像大小是不一样的,下面这篇文章主要给大家介绍了关于docker进阶教程之dockerfile优化镜像大小的相关资料,需要的朋友可以参考下
    2022-10-10
  • Docker项目部署之从后端到前端部署详细流程

    Docker项目部署之从后端到前端部署详细流程

    在当今的软件开发领域,容器化技术已经成为了部署和管理应用程序的重要手段,下面这篇文章主要给大家介绍了关于Docker项目部署之从后端到前端部署的相关资料,需要的朋友可以参考下
    2024-08-08

最新评论