SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

这篇具有很好参考价值的文章主要介绍了SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。

前言

本篇文章引导你使用Jenkins部署SpringBoot项目,同时使用DockerGit实现简单的持续集成和持续部署。(项目地址:sso-merryyou)

流程图如下:

  1. push代码到Github触发WebHook。(因网络原因,本篇使用gitee)
  2. Jenkins从仓库拉去代码
  3. mavem构建项目
  4. 代码静态分析
  5. 单元测试
  6. build镜像
  7. push镜像到镜像仓库(本篇使用的镜像仓库为网易镜像仓库)
  8. 更新服务

Jenkins安装

下载jenkins

从https://jenkins.io/download/下载对应的jenkins

初始化密码

访问本地:http://localhost:8080输入密码

选择插件

进入用户自定义插件界面,选择第二个(因为我们本次构建使用的为Pipelines )

勾选与Pipelines 相关的插件

等待插件安装完成

配置用户名和密码
全局配置

系统管理-》全局工具配置 配置Git,JDK和Maven

安全配置

系统管理-》全局安全配置

  • 勾选Allow anonymous read access
  • 取消防止跨站点请求伪造
新建任务

新建任务-》流水线

构建脚本

勾选触发远程构建 (WebHooks触发地址),填写简单的Pipeline script

#!groovy
pipeline{
	agent any

	stages {

		stage('test'){
			steps {
				echo "hello world"
			
			}
		}			
	}
}

测试脚本

立即构建

控制台输出

gitee集成WebHooks

添加SSH公匙
配置WebHooks

使用natapp实现内网穿透

修改脚本

修改Pipeline script

#!groovy
pipeline{
	agent any
	//定义仓库地址
	environment {
		REPOSITORY="https://gitee.com/merryyou/sso-merryyou.git"
	}

	stages {

		stage('获取代码'){
			steps {
				echo "start fetch code from git:${REPOSITORY}"
				//清空当前目录
				deleteDir()
				//拉去代码	
				git "${REPOSITORY}"
			}
		}

		stage('代码静态检查'){
			steps {
				//伪代码检查
				echo "start code check"
			}
		}		

		stage('编译+单元测试'){
			steps {
				echo "start compile"
				//切换目录
				dir('sso-client1') {
					//重新打包
					bat 'mvn -Dmaven.test.skip=true -U clean install'
				}
			}
		}

		stage('构建镜像'){
			steps {
				echo "start build image"
				dir('sso-client1') {
					//build镜像
					bat 'docker build -t hub.c.163.com/longfeizheng/sso-client1:1.0 .'
					//登录163云仓库
					bat 'docker login -u longfei_zheng@163.com -p password hub.c.163.com'
					//推送镜像到163仓库
					bat 'docker push hub.c.163.com/longfeizheng/sso-client1:1.0'
				}
			}
		}

		stage('启动服务'){
			steps {
				echo "start sso-merryyou"
				//重启服务
				bat 'docker-compose up -d --build'
			}
		}				

	}
}

Pipeline的几个基本概念:

  • Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。
  • Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。
  • Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供。

更多Pipeline语法参考:pipeline 语法详解

测试

docker-compose up -d 启动服务

访问http://sso-taobao:8083/client1登录

修改内容效果如下:

更多效果图

代码下载

  • github:https://github.com/longfeizheng/sso-merryyou
  • gitee:https://gitee.com/merryyou/sso-merryyou

推荐文章

  1. Java创建区块链系列
  2. Spring Security源码分析系列
  3. Spring Data Jpa 系列
  4. 【译】数据结构中关于树的一切(java版)

关注微信小程序java架构师历程 上下班的路上无聊吗?还在看小说、新闻吗?不知道怎样提高自己的技术吗?来吧这里有你需要的java架构文章,1.5w+的java工程师都在看,你还在等什么?

作者:郑龙飞

原文地址:https://my.oschina.net/merryyou/blog/1799317文章来源地址https://www.toymoban.com/news/detail-833164.html

喜欢 0

到了这里,关于SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins+Docker+SpringCloud微服务持续集成之集群部署

      idea中修改注册中心eureka的配置,单节点换成集群   在启动微服务的时候,加入参数: spring.profiles.active 来读取对应的配置 网关服务配置   权限管理配置   业务模块配置       该插件可以支持多选框         逗号必须得是英文,否则出错       循环测试代码检查      

    2024年02月07日
    浏览(48)
  • jenkins+docker集成harbor实现可持续集成

    目录 一、前言 二、Harbor介绍 2.1 什么是Harbor 2.1.1 Harbor架构图 2.2 Harbor 特征 2.3 Harbor 核心组件 2.4 Harbor使用场景 三、Harbor部署 3.1 安装docker compose 3.1.1 安装方式一 3.2 基于python3 pip安装docker compose 3.2.1 安装python3 3.2.2 安装python-pip3并升级 3.2.3 执行命令安装 docker-compose 3.2.4 查看d

    2024年04月15日
    浏览(38)
  • docker+k8s+jenkins+harbor持续集成自动化部署

    另外一篇文章有讲docker的安装与相关配置,暂时就不讲了 1、关闭防火墙并修改主机名 2、永久禁用swap 用#注释掉swap一行(新版centos已经默认禁用) 3、配置镜像加速 到阿里云获取自己镜像加速地址 4、安装 docker-compose 官网找到下载地址 https://github.com/docker/compose/releases 版本地址

    2024年02月08日
    浏览(64)
  • jenkins实现接口自动化持续集成(python+pytest+ Allure+git)

    在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作。借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,通过设置定时构建实现自动触发脚本执行,得到测试报告,最后还可以配置发送邮件等。今天我们

    2024年02月03日
    浏览(59)
  • Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(三)

    BeanShell是一种完全符合java语法规则的脚本语言,同时他还有自己的语法规则。 java包括:javase,jjavaee,javame Jmeter有哪些Bean Shell: 1.前置处理器:Beanshell预处理程序。 2.定时器:BeanShell 3.采样器:BeanShell 4.后置处理器:BeanShell 5.断言:BeanShell 6.监听器:BeanShell 1.log 打印日志

    2024年03月13日
    浏览(42)
  • Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)

    目录 涉及内容: 一、CICD服务器环境搭建 1、docker 环境安装 (1)、拉取镜像,启动并设置开机自启 (2)、配置docker加速器 2、安装并配置GitLab (1)、创建共享卷目录 (2)、创建 gitlab 容器 (3)、关闭容器修改配置文件 (4)、修改完配置文件之后。直接启动容器 (5)、相关

    2024年03月15日
    浏览(74)
  • 史上最全从0到1搭建最新版本jenkins可持续集成,整合git和maven部署微服务自动构建发版,抓紧收藏起来吧!

    好文推荐: netty搭建websocket集群(高性能.,高并发) springboot 实现延时队列(超级实用) 2.5万字讲解DDD领域驱动设计(史上最全DDD) 传统的软件开发在系统上线的时候需要手动进行,这个过程可能相对繁琐和容易出错,发布过程如下: 代码构建:开发人员在本地环境中编写

    2024年04月13日
    浏览(45)
  • 【Jenkins】持续集成部署学习

    Gitlab用的端口是80,可能会跟其它应用冲突,并且Gitlab所需内存也很大,所以还是单独放在一个服务器上比较好。 用原来空的虚拟机服务器克隆一个,注意内存要选大一点,6G左右 (1)ip a / ip addr / ifconfig 不显示ip问题 (1)查看系统的内核版本 执行命令:uname -r 注意:x86

    2024年02月11日
    浏览(37)
  • Docker搭建Jenkins持续集成

    目录 注意 前提条件  一、安装Docker 1.1、检查并清楚系统残余项,并安装Docker环境  1.2、安装下载Docker依赖的工具  1.3、添加清华软件源  1.4、更新yum缓存  1.5、安装Docker(CE-社区版) 1.6、 启动Docker 1.7、Docker设置开机自启 二、下载Jenkins镜像  2.1、挂载目录 2.2、启动镜像

    2024年01月25日
    浏览(52)
  • 一个springboot项目的jenkins持续集成配置

    目录 1.项目基本情况 2.jenkins的下载 1)  安装jdk 2)下载、启动和配置jenkins 3. 启动Jenkins 4. 安装Jenkins插件 5. 重启jenkins 6.jenkins工具的配置 1) jdk的路径配置 7.创建springboot项目的持续集成任务 1)  新建项目 2)代码拉取 3)  打包项目 4)启动jar程序 5)解决jenkins构建结束后终止所

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包