Jenkins配置Git构建SpringBoot项目

2023-11-09

目录

介绍

环境变量配置

配置jdk

配置git

配置maven

下载jenkins

brew下载

war包下载

配置jenkins

配置环境

Jenkins从Git拉取代码构建SpringBoot项目

项目配置

General

源码管理

构建触发器

构建环境

Pre Steps

Build

Post Steps

构建设置

构建后操作

构建项目


介绍

环境变量配置

我的本机是Mac,本文将以Mac为例,安装环节省略。

配置jdk

查询java的路径

/usr/libexec/java_home -V

打开 .bash_profile 文件

open -e .bash_profile

将内容拷贝进去

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

执行命令使其生效

source .bash_profile

查看是否配置成功,出现下面信息配置成功。

配置git

查询git的安装地址

 whereis git

[dingguo@dingguodeMacBook-Pro:~]$ whereis git
/usr/bin/git
[dingguo@dingguodeMacBook-Pro:~]$ git --version
git version 2.15.0

配置maven

下载地址

同样方法打开.bash_profile

# maven 配置
export M2_HOME=/Users/dingguo/soft/apache-maven-3.6.3
export PATH="$M2_HOME/bin:$PATH"

查看maven配置是否正确,出现下面信息配置成功。

下载jenkins

地址一(官网下载):https://www.jenkins.io/zh/download/ 

地址二(war包下载):Index of /war

我这里推荐两种方式,brew和war

brew下载

在终端输入

brew install jenkins

安装成功会出现下面信息,第一次安装会很慢,请静静等待

查看是否安装成功,

brew list

注意:

下载最新版本:brew install jenkins

下载指定版本:brew install jenkins@YOUR_VERSION

启动:brew services start jenkins

重启:brew services restart jenkins

停止:brew services stop jenkins

更新:brew upgrade jenkins

在终端执行启动命令

启动完成之后,会发现,输入命令ls -a,根目录下面出新建了隐藏文件夹,.jenkins

进入文件夹会发现,生成了一些文件

打开浏览器,http://localhost:8080/,默认端口是8080,初始化配置比较慢

配置完成之后,如下图

查看密码:

cat /Users/dingguo/.jenkins/secrets/initialAdminPassword

[dingguo@dingguodeMacBook-Pro:~]$ cat /Users/dingguo/.jenkins/secrets/initialAdminPassword
f934dc59b3cc4789b9172d951cbda123

复制到浏览器,进入下面页面,选择默认的插件

等待下载插件即可,如果下载失败了,不用担心,右下角有重试,点击重试,会重新下载失败的插件,一般都是下载超时

下载好插件如下图

创建一个管理员账号和密码,接下来可以配置jenkins的地址和端口

一切准备就绪,

war包下载

下载合适的war包,有两种推荐启动方式

第一种,将war包拷贝到Tomcat的目录下,启动Tomcat

第二种,终端输入命令,  java -jar jenkins.war

打开浏览器:http://localhost:8080/

后续的操作和brew的完全一致了。

配置jenkins

打开 Manage Jenkins >>> Global Tool Configuration 内容

配置环境

Maven要选择文件系统中的settings文件,

/Users/dingguo/soft/apache-maven-3.6.3/conf/settings.xml

JDK要取消自动安装,否则要输入Oracle的账号和密码

/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home

/usr/bin/git

/Users/dingguo/soft/apache-maven-3.6.3

配置完成,点击保存即可。

Jenkins从Git拉取代码构建SpringBoot项目

点击左侧条,新建Item

进入会发现没有Maven项目,进入插件管理下载Maven插件

下载Maven插件

在搜索框输入关键字:maven,在可选插件勾选 Maven Integration 直接安装

安装好重启之后,跳转到新建项目步骤。选择构建一个Maven项目

项目配置

点击确定,进入到项目配置界面

General

源码管理

选择Git,输入测试的项目git地址

点击添加,配置账号密码

构建触发器

构建环境

Pre Steps

Build

clean install -Dmaven.test.skip=true -Ptest

Post Steps

命令:

#jenkins 使用脚本启动以后,构建完毕后会杀死当前进程,可以在脚本上加BUILD_ID=DONTKILLME 来避免
BUILD_ID=DONTKILLME


echo 当前构建目录: $(pwd)

cd ./target
# '.'代表当前目录,下面意思是在当前目录下寻找 **.jar 文件,一定要按照这个格式写
FILENAME=$(find . -name '**.jar')

# 输出jar目录
JARNAME=${FILENAME##*/} # ${file##*/}:删掉最后一个/  及其左边的字符串

JARPATH=$(pwd)

echo 当前jar所在目录: ${JARPATH}/${JARNAME}

PID=$(ps -ef | grep $JARNAME | grep -v grep | awk '{print $2}')

if [ -z "$PID" ]; then ## -z 判断是不是空的字符串
	echo $JARNAME is already stopped
else
	## 如果当前进程已经运行,杀死进程
	echo 当前程序正在执行,新版本发布需关闭程序进程: $PID
	kill -9 $PID
fi

# ~/jar 这里,是指向你平时存放你项目jar包的地方,若你的项目配置了https,那么要想运行成功,jar包的同级目录应该有ssl许可证,所以这里的位置不是随便写的,一定要是你SSL许可证的存放位置
cd ~/jar
cp ${JARPATH}/${JARNAME} .

# 后台运行
nohup java -jar $JARNAME >test.log &

PID=$(ps -ef | grep $JARNAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then ## -z 判断是不是空的字符串
	echo 程序未启动
else
	## 如果当前进程已经运行,杀死进程
	echo 程序已启动,进程: $PID
fi

构建设置

构建后操作

全部构建完成,点击保存。

构建项目

左侧,点击构建项目,左下角会出现构建历史,

点击进去,看控制台打印

继续向下翻,可以看到程序已启动,进程是:8638

查看进程,程序已经在后台启动了

找到配置的shell,查看日志

可以看到程序在端口:9999启动。

测试接口是否通

可以看出,项目已经启动完成了。

到此,整个Jenkins配置Git构建SpringBoot已经配置完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins配置Git构建SpringBoot项目 的相关文章

随机推荐

  • python 绘制正弦余弦函数 matplotlib的基本使用

    matplotlib的基本使用 import matplotlib pyplot as mp import numpy as np x np linspace 0 2 np pi 1000 y sin np sin x y cos np c
  • [初学python]新类(new-style class)

    类 class 也是对象在python之中 万物皆对象 类也是对象 类的类 就被称为元类 即类是元类的实例 正如类的实例的行为取决于类 元类的实例 类 的行为也取决于元类 new style classes的由来new style clas
  • 华为OD机试真题Java_2022-2023-题目0189-最多等和不相交连续子序列

    最多等和不相交连续子序列 题目描述 给定一个数组 我们称其中连续的元素为连续子序列 称这些元素的和为连续子序列的和 数组中可能存在几组连续子序列 组内的连续子序列互不相交且有相同的和 求一组连续子序列 组内子序列的数目最多 输出这个数目 输
  • 笔记24-2(C语言进阶 程序环境和预处理)

    目录 注 预定义详解 预处理符号 举例 使用例 define define 定义标识符 define定义宏 括号很重要 define 替换规则 和 带副作用的宏参数 宏和函数的对比 命名约定 undef 命名行定义 条件编译 常见的条件编译
  • 宏定义 类模板 及类模板的全特化

    如下所示 定义一个宏函数 只要传入类型名 即可生成一个类模板 include
  • 图灵1月书讯:阅新书辞旧岁,览经典迎新年

    原文链接 本期小编为您特别推荐的是 说服人要懂心理学 著名行为心理学家 演讲大师最新力作 七大动力 丰富实例 教你做个说服高手 Susan M Weinschenk拥有行为心理学博士学位 在35年的职业生涯中 她一直致力于把心理学领域对人类
  • c语言把一个数组里面的部分值直接复制到另外一个数组

    头文件是 include
  • MATLAB实现费诺编码的计算与分析

    一 实验目的 1 理解霍费诺编码的原理 2 掌握费诺编码的方法和步骤 3 熟悉费诺编码的效率 4 本实验用Matlab语言编程实现费诺 Fano 编码 二 实验环境 windows XP MATLAB 7 三 实验原理 费诺编码算法如下 在
  • 【实战 01】心脏病二分类数据集

    目录 1 获取数据集 2 数据集介绍 3 数据预处理 4 构建随机森林分类模型 5 预测测试集数据 6 构建混淆矩阵 7 计算查全率 召回率 调和平均值 8 ROC曲线 AUC曲线 注 每一章节可以为一个py文件 4 5 6 7写在同一个文
  • OAuth2 使用Zuul细粒度权限控制笔记

    先置条件 基于我的项目 假设我现在 有gateway service 网关 auth service 权限认证 game service 游戏 ad service 广告 使用相关版本如下 版本搭配参考 https github com a
  • 吃老本

    一转眼毕业都快10年了 感觉加入现在这个公司以来 技术上没什么进展 还在吃老本 都是毕业后前5年的时候学到的东西 晚上回去以后 也没有热情看书了 只想休息 奉劝那些刚刚毕业的同学 趁着年轻 有大把时间 多看书 多钻研一下技术 别像我这样在这
  • 由Eclipse中Ctrl+H快捷键失效而引申出的一系列问题

    前面说过新公司用idea 但是用了一段时间后发现里面的操作 界面 快捷键等等和我的习惯实在相差太大 于是最近又把eclipse下载了回来 但是在设置环境的时候却出现了一些伤脑筋的小问题 首先第一点问题是一些快捷键失效了 比如CTRL H 这
  • 数字图像处理 -灰度变换 之 gamma变换(gamma transformation)

    Reference https blog csdn net zhoufan900428 article details 12709361 The gamma transformation is different from log tran
  • HTTP的8种请求方法和用途

    一 什么是HTTP 超文本传输协议 Hyper Text Transfer Protocol HTTP 是一个简单的请求 响应协议 它通 常运行在TCP之上 它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应 请求 和响应消息的
  • 2023.8.31题目小记

    1 费解的开关 1208 翻硬币 AcWing题库 1 使用位进制优化 2 由于第一行如果已经确定下来则后面的每一行都可以确定 可以将第一行的所有方法全部记录下来PS 32的二进制为100000一共六位 而此就已经可以使用位运算将五位开关全
  • 哪些数组操作会影响vue视图的更新?改变数组本身的方法有哪些?附面试题1

    多选题 在vue中 下列哪些选项对数组的操作触发视图更新 A push B shift C concat D reverse 先独立思考 正确答案 A B D 解析 c选项 concat 返回的是一个新的数组 需要用新数组替换原数组才能实现
  • 乐高选择亚马逊云科技 为客户创造卓越体验

    近日 亚马逊云科技宣布 全球知名玩具制造商乐高集团 the LEGO Group 选择亚马逊云科技作为首选云服务提供商 加速推进数字化战略 打造充满创意 乐趣和互动性的玩乐新体验 基于亚马逊云科技全球一致的基础设施 以及计算 存储 数据库
  • Win7上搭建Linux环境

    自制编程语言的环境搭建 一 C编译器 Windows环境下使用MinGW Minimalist GNU for Windows 安装完成后可以在Windows的命令行窗口中进行测试 并编译C语言代码 下载地址 点击下载 解压安装 并记录下安
  • 数码管循环显示数字

    文章目录 一 前言 二 芯片使用 1 74hc245 2 74ls138译码器 三 硬件连接 四 软件代码 五 效果展示 六 代码链接 一 前言 数码管进行显示成功后 可根据自己的想法进行改进 本设计采用八位数码管进行循环显示0 f 其中涉
  • Jenkins配置Git构建SpringBoot项目

    目录 介绍 环境变量配置 配置jdk 配置git 配置maven 下载jenkins brew下载 war包下载 配置jenkins 配置环境 Jenkins从Git拉取代码构建SpringBoot项目 项目配置 General 源码管理