Jenkins一键打包部署SpringBoot应用的方法步骤

目录
  • Jenkins简介
  • Jenkins的安装及配置
    • Docker环境下的安装
    • Jenkins的配置
    • 角色权限管理
  • 打包部署SpringBoot应用
  • 在Jenkins中创建执行任务

任何简单操作的背后,都有一套相当复杂的机制。本文将以SpringBoot应用的在Docker环境下的打包部署为例,详细讲解如何使用Jenkins一键打包部署SpringBoot应用。

Jenkins简介

Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。我们可以用Jenkins来构建和部署我们的项目,比如说从我们的代码仓库获取代码,然后将我们的代码打包成可执行的文件,之后通过远程的ssh工具执行脚本来运行我们的项目。

Jenkins的安装及配置

Docker环境下的安装

下载Jenkins的Docker镜像:

docker pull jenkins/jenkins:lts

在Docker容器中运行Jenkins:

docker run -p 8080:8080 -p 50000:5000 --name jenkins \
-u root \
-v /mydata/jenkins_home:/var/jenkins_home \
-d jenkins/jenkins:lts

Jenkins的配置

运行成功后访问该地址登录Jenkins,第一次登录需要输入管理员密码:http://192.168.6.132:8080/

使用管理员密码进行登录,可以使用以下命令从容器启动日志中获取管理密码:

docker logs jenkins

从日志中获取管理员密码:

选择安装插件方式,这里我们直接安装推荐的插件:

进入插件安装界面,联网等待插件安装:

安装完成后,创建管理员账号:

进行实例配置,配置Jenkins的URL:

点击系统管理->插件管理,进行一些自定义的插件安装:

确保以下插件被正确安装:

根据角色管理权限的插件:Role-based Authorization Strategy

远程使用ssh的插件:SSH plugin

通过系统管理->全局工具配置来进行全局工具的配置,比如maven的配置:

新增maven的安装配置:

在系统管理->系统配置中添加全局ssh的配置,这样Jenkins使用ssh就可以执行远程的linux脚本了:

 

角色权限管理

我们可以使用Jenkins的角色管理插件来管理Jenkins的用户,比如我们可以给管理员赋予所有权限,运维人员赋予执行任务的相关权限,其他人员只赋予查看权限。

在系统管理->全局安全配置中启用基于角色的权限管理:

进入系统管理->Manage and Assign Roles界面:

添加角色与权限的关系:

给用户分配角色:

 

打包部署SpringBoot应用

这里我们使用mall-learning项目中的mall-tiny-jenkins模块代码来演示下如何使Jenkins一键打包部署SpringBoot应用。

将代码上传到Git仓库

首先我们需要安装Gitlab(当然你也可以使用Github或者Gitee),然后将mall-tiny-jenkins中的代码上传到Gitlab中去,Gitlab的使用请参考:10分钟搭建自己的Git仓库

mall-tiny-jenkins项目源码地址:https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-jenkins

上传完成后Gitlab中的展示效果如下:

有一点需要注意,要将pom.xml中的dockerHost地址改成你自己的Docker镜像仓库地址:

执行脚本准备

mall-tiny-jenkins.sh脚本文件上传到/mydata/sh目录下,脚本内容如下:

#!/usr/bin/env bash
app_name='mall-tiny-jenkins'
docker stop ${app_name}
echo '----stop container----'
docker rm ${app_name}
echo '----rm container----'
docker run -p 8088:8088 --name ${app_name} \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/${app_name}/logs:/var/logs \
-d mall-tiny/${app_name}:1.0-SNAPSHOT
echo '----start container----'

给.sh脚本添加可执行权限:

chmod +x ./mall-tiny-jenkins.sh

windows下的.sh脚本上传到linux上使用,需要修改文件格式,否则会因为有特殊格式存在而无法执行:

#使用vim编辑器来修改
vi mall-tiny-jenkins.sh
# 查看文件格式,windows上传上来的默认为dos
:set ff
#修改文件格式为unix
:set ff=unix
#保存并退出
:wq

执行.sh脚本,测试使用,可以不执行:

./mall-tiny-jenkins.sh

在Jenkins中创建执行任务

首先我们需要新建一个任务:

设置任务名称后选择构建一个自由风格的软件项目:

然后在源码管理中添加我们的git仓库地址:http://192.168.6.132:1080/macrozheng/mall-tiny-jenkins

此时需要添加一个凭据,也就是我们git仓库的账号密码:

填写完成后选择该凭据,就可以正常连接git仓库了;

之后我们需要添加一个构建,选择调用顶层maven目标,该构建主要用于把我们的源码打包成Docker镜像并上传到我们的Docker镜像仓库去:

选择我们的maven版本,然后设置maven命令和指定pom文件位置:

之后添加一个执行远程shell脚本的构建,用于在我们的镜像打包完成后执行启动Docker容器的.sh脚本:

需要设置执行的shell命令如下:/mydata/sh/mall-tiny-jenkins.sh

之后点击保存操作,我们的任务就创建完成了,在任务列表中我们可以点击运行来执行该任务;

我们可以通过控制台输出来查看整个任务的执行过程:

运行成功后,访问该地址即可查看API文档:http://192.168.6.132:8088/swagger-ui.html

 

项目源码地址

https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-jenkins

到此这篇关于Jenkins一键打包部署SpringBoot应用的方法步骤的文章就介绍到这了,更多相关Jenkins一键打包部署SpringBoot内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)

    最近有一个朋友问我有没有玩过docker,回答起来底气不是很足 ^ - ^ (刚开始玩cloud的时候接触过,玩过一会,后面在实际开发中比较少用,所以基本上可以说是忘记了.),今天花了点时间整理之前的笔记以及整理走一个流程,记录一下吧,下次玩得时候C V 就好啦~ 1. Docker的安装以及开启远程访问 1.1 安装 # 检查虚拟机内核版本,必须是3.10及以上 uname -r # 安装docker yum install docker # 输入y确认安装 # 启动docker system

  • Springboot基于assembly的服务化打包方案及spring boot部署方式

    在使用assembly来打包springboot微服务项目前,我想说一说,目前springboot项目的几种常见的部署方式. 使用docker容器去部署,将springboot的应用构建成一个docker image,然后通过容器去启动镜像 ,这种方式在需要部署大规模的应用和应用扩展时是非常方便的,属于目前工业级的部署方案,但是需要掌握docker的生态圈技术. 使用fatjar直接部署启动,这是很多初学者或者极小规模情况下的一个简单应用部署方式. 本文主要针对第二种部署方式提供一种更加友好的打

  • SpringBoot中jar打包并部署到Tomcat

    1.详细步骤 首先在pom.xml文件中做一些修改: 之前打war包需要修改打包方式,这次不需要了,因为默认就是 jar 包指定最终打成jar包的名称手动指定 resources 文件夹编译打包的路径添加SpringBoot内嵌Tomcat解析jsp的依赖(仅仅是为这个实例而添加) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/

  • Springboot打包为Docker镜像并部署的实现

    一.Springboot项目运行正常 打包前,Springbooot项目在本地必须是运行正常的.我们这里使用本专栏写起来的项目,如下所示: 来访问一下我们接口,做连通性验证测试: 注意这里的地址是本地地址,因为我是在本地IDEA里面运行的项目! 二.Maven打包项目 执行如下命令即可: // 先清空再打包 mvn clean package 打包成功之后如下所示,提示BUILD SUCCESS,target目录下会有打好的jar包: 注意:此处我们打包为jar包,直接部署在Docker中.如果

  • SpringBoot瘦身打包部署的实现

    一.前言 最近做的项目由于引入第三方库导致在运行mvn clean package 打jar时,编译出来的 Jar 包很大(服务器多达500MB). 二.瘦身前的Jar包 SpringBoot编译出来的Jar包中,磁盘占用大的,是一些外部依赖库(jar包),例如: 进入项目工程根目录,执行 mvn clean package命令,得到的Jar包目录结构如下: 整个Jar包 524 MB(可以通过解压软件查看,会发现基本都是lib下的依赖包占用) 三.解决方法 步骤1: 正常编译JAR包,解压出l

  • Jenkins一键打包部署SpringBoot应用的方法步骤

    目录 Jenkins简介 Jenkins的安装及配置 Docker环境下的安装 Jenkins的配置 角色权限管理 打包部署SpringBoot应用 在Jenkins中创建执行任务 任何简单操作的背后,都有一套相当复杂的机制.本文将以SpringBoot应用的在Docker环境下的打包部署为例,详细讲解如何使用Jenkins一键打包部署SpringBoot应用. Jenkins简介 Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建.部署.自动化,满足任何项目的需要.我们

  • Jenkins一键打包部署SpringBoot应用

    目录 一.准备工作 二.Jenkins的安装及配置 三.打包部署SpringBoot应用 四.立即构建 一般而言,一个项目部署的由:拉取代码->构建->测试->打包->部署等过程组成,如果我们经常需要部署项目,特别是在微服务时代,服务特别多的情况下,不停的测试打包部署,那估计得有个人一整天专门做这事了,而这事又是繁琐的重复无意义的,所以就需要一套能够持续集成.持续交付.持续部署的自动化构建流程. Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建.部

  • 使用jenkins部署springboot项目的方法步骤

    1.准备工作 1.JDK安装 2.Maven安装 3.Git安装 4.jenkins安装 以上软件安装成功后进入jenkins进行相关配置. 如果需要通过SSH进行远程发布项目,jenkins需要安装 Publish Over SSH 插件 2.全局配置 通过whereis git查找git的安装地址 3.全局配置完成后在进行系统配置 ,如图 4.基础配置完成以后,下面我们来新建一个项目 项目的配置: 5.shell mvn clean package -Dmaven.test.skip=tru

  • Gitlab CI-CD自动化部署SpringBoot项目的方法步骤

    目录 一.概述 二.前期准备 三.总体架构图 四.环境搭建 1.环境准备(可选) 2.Gitlab安装 3.安装 Runner 4.安装应用服务器环境 五.创建 SpringBoot 项目 1.使用Gitlab Spring 模板快速创建一个 SpringBoot 项目: 2.添加环境变量(登录应用服务器密码) 六.总结 一.概述 本文主要记录如何通过Gitlab CI/CD自动部署SpringBoot项目jar包. 二.前期准备 准备三台 CentOS7服务器,分别部署以下服务: 序号 系统

  • Linux下部署springboot项目的方法步骤

    最近在研究将springboot项目部署到Linux服务器上,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上. 1.在pom文件中添加springboot的maven插件 <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> spring-boot-maven-plugin</artifactid> </p

  • Jenkins+Docker 一键自动化部署 SpringBoot 项目的详细步骤

    目录 Jenkins+Docker 一键自动化部署 SpringBoot 项目 一.安装docker 1.确保 yum 包更新到最新 2.卸载旧版本(如果安装过旧版本的话) 3.安装需要的软件包 4.设置yum源 5.安装docker 6.启动和开机启动 7.验证安装是否成功 二.安装Jenkins 1.安装Jenkins 2.初始化Jenkins 2.1 解锁Jenkins 2.2 安装插件 2.3 创建管理员用户 三.系统配置 1. 安装需要插件 2. 配置Maven 四.创建任务 1. 新

  • Springboot打包部署修改配置文件的方法

    一般情况下SpringBoot以Jar包的形式进行打包 打包 - jar包方式 1.pom文件引入插件 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </bu

  • 使用jenkins一键打包发布vue项目的实现

    jenkins的安装 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. Jenkins 支持各种运行方式,可通过系统包.Docker 或者通过一个独立的 Java 程序. 安装 这里的操作系统为WSL Ubuntu,其它系统的安装的请参考jenkins官方文档 wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo de

  • 利用Dockerfile部署SpringBoot项目的方法

    1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7171wgdhul8az ~]# mkdir /root/docker_test 3.将jar包上传到Linux中 创建存放jar包的文件夹 [root@izwz90lvzs7171wgdhul8az docker_test]# mkdir /root/docker_test/jar 然后利用XShell上传jar包到上面的文件夹中 4.编写Docke

  • vue项目打包部署_nginx代理访问方法详解

    我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要修改如下配置文件: 配置文件一:build>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题) 配置文件二:config>>index.js(修改assetsPublicPath:'./' ,修改目的是为了

随机推荐