当前位置: 首页 > news >正文

linux中安装部署Jenkins,成功构建springboot项目详细教程

参考别人配置Jenkins的git地址为https,无法连上github拉取项目,所以本章节介绍通过配置SSH地址来连github拉取项目

目录:

1、springboot项目
1.1 创建名为springcloudproject的springboot项目工程
1.2 已将工程上传到github中,github工程名为companyProject(这里随便取)
2、linux环境
2.1 已安装好jdk、maven、git
2.2 配置git
2.3 生成公钥
3、 Github配置
3.1 创建Personal access Token
3.2 生成SSH?Keys
3.3 配置webhook
3.4 复制工程的SSH地址下来,后续用,如图
4、Jenkins安装以及环境文件配置
4.1 安装Jenkins
4.2 Jenkins初始化
4.3 全局配置git和maven
4.4 插件安装
4.5 全局变量设置
5、创建Jenkins任务
5.1 新建任务
5.2 填写任务名
5.3 填写任务配置信息
5.4 构建测试
5.5 查看日志


内容:

1、springboot项目

1.1 创建名为springcloudproject的springboot项目工程

主工程下新建个deploy文件夹,并建test.sh文件,内容为: echo "test ....",如图

1.2 已将工程上传到github中,github工程名为companyProject(这里随便取)

2、linux环境

2.1 已安装好jdk、maven、git

2.2 配置git

执行以下两行命令

git config --global user.name "git账号"
git config --global user.email "git绑定的邮箱"

如图可查看

2.3 生成公钥

执行命令

ssh-keygen -t rsa -C "刚刚设置的邮箱"

三次回车(图中红色框框),可得公钥生成文件路径,如下图

查看公钥,上图中/home/company/.ssh/id_rsa.pub文件

拷贝查看到文件的所有内容,后续使用

3、 Github配置

3.1 创建Personal access Token

3.1.1 打开个人Settings页面

3.1.2 打开Developer Settings 页面

3.1.3 依次点击“Personal access tokens” -> “Tokens(classic)” -> “Generate new token”按钮


3.1.4 勾选如下图两处地方,跟填名称地方就可以了

3.1.5 提交后生成token,复制备份下来

3.2 生成SSH Keys

3.2.1 按照3.1.1步打开Settings页面

3.2.2 依次点击“SSH and GPG keys” -> “New SSH key” 按钮

3.2.3 填信息生成SSH Key

key栏框位置填2.3步获取的公钥

3.3 配置webhook

这步配置,当代码push上github的时候,会自动通知Jenkins进行构建(需要配合5.3.2步)

3.3.1 打开工程的Settings -> Webhooks -> Add webhook按钮

3.3.2 添加webhook信息

如下图,把地址ip改为自己部署Jenkins的服务地址就好了,后面的“/github-webhook/”要加上

3.4 复制工程的SSH地址下来,后续用,如图

4、Jenkins安装以及环境文件配置

4.1 安装Jenkins

https://jenkins.io/download 到Jenkins的官网自行下载所需的war包 

启动命令:java -jar jenkins.war –-httpPort=8080

然后访问http://xx.xxx.xx.xx:8080即可

我这里是部署在阿里云服务器,所以要放开8080端口

4.2 Jenkins初始化

打开浏览器页面,输入http://xx.xxx.xx.xx:8080

复制此路径

在shell中执行 cat /root/.jenkins/secrets/initialAdminPassword

查看初始密码,然后复制粘贴到页面登陆,选择建议的插件,然后重新设置用户名密码

4.3 全局配置git和maven

4.3.1 打开“系统管理”

4.3.2 点击“全局工具配置”,配置git和maven的安装路径

如果git路径不知道,可以通过命令whereis git查看

4.4 插件安装

4.4.1 打开“系统管理” -> “插件管理”

4.4.2 搜索安装Gitlab插件和Maven Integration插件

Gitlab插件:当gitlab有push时触发jenkins拉取代码和将构建状态发送回GitLab Maven Integration:用来简化建造Maven工程.


安装完插件后可以重启一下,直接在网址后边拼上/restart 可以重启Jenkins

4.5 全局变量设置

4.5.1 打开“系统管理” -> “系统配置”

4.5.2 往下找到“github服务器”,点击添加,然后在API URL框填上“https://api.github.com”

4.5.3 点击凭据下的“添加”按钮

类型选择 “Secret text”

Secret项填 3.1.5步生成的token,最后两个不用填

5、创建Jenkins任务

5.1 新建任务

5.2 填写任务名

5.3 填写任务配置信息

5.3.1 选择“GitHub项目”,url为自己项目的url

5.3.2 Triggers选择(这个看自己需求)

5.3.3 流水线配置

流水线配置有两种,这里都介绍下

5.3.3.1 Pipeline script(整章节是这种配置,此配置进行拉取github代码,并mvn打包java工程)

内容如下

pipeline {agent anystages {stage('Checkout') {steps {//进行拉取代码git branch: 'dev', credentialsId: '661ea938-9146-4001-bba6-ffa195311c51', url: 'git@github.com:DaQinDiGuo011/companyProject.git'}}stage('Compile-Package') {steps {//进行编译打包sh 'mvn -Dmaven.test.failure.ignore=true clean package'}}}
}

5.3.3.2 Pipeline script from SCM(此选项是拉取github代码,然后执行sh脚本,这部只是为了介绍用法)

Repository URL填写3.4步中的地址

Credentials选择下一步操作添加的用户密码

我使用的是dev分支,所以新增了个dev

gitweb地址填写自己项目的浏览器地址

点击添加Credentials

用户密码为自己登录github上的用户密码

 脚本路径,添加完保存

该路径为1.1步里工程目录下的deploy/test.sh脚本

5.4 构建测试

点击构建,开始把项目pull到工作空间,并编译打包

5.5 查看日志

点击执行的任务里,点击“Console Output”查看日志,可到部署Jenkins服务器路径查看Jenkins拉取下来的项目并编译的日志,日志最后可看到工作空间地址

相关文章:

linux中安装部署Jenkins,成功构建springboot项目详细教程

参考别人配置Jenkins的git地址为https,无法连上github拉取项目,所以本章节介绍通过配置SSH地址来连github拉取项目 目录: 1、springboot项目 1.1 创建名为springcloudproject的springboot项目工程 1.2 已将工程上传到github中,g…...

AI开发利器:Anaconda

在Python开发过程中,不同的项目可能会依赖不同版本的Python以及各种不同版本的库。比如,项目A可能依赖Python 3.8和某个特定版本的numpy、TensorFlow和PyTorch,而项目B可能需要Python 3.9以及另一个版本的numpy库。如果直接在系统中安装Pytho…...

java网络编程--基于TCP协议的网络编程

Scoket介绍 利用 TCP 协议进行通信的两个应用程序是有主次之分的, 一个是服务器程序,一个是客户端程序, 两者的功能和编写方法不太一样, 其中 ServerSocket 类表示 Socket 服务器端,Socket 类表示 Socket 客户端。 服…...

PageHelper新发现

PageHelper 背景解决reasonablepageSizeZero 背景 今天发现了一个很有趣的现象,接手一个很老的项目springmvc项目、使用PageHelper分页实现常见的后端接口分页功能。但是发现当页码参数大于实际的页码数时、正常不应该返回数据,但是目前确一直返回数据不…...

Redis 数据结构和使用详解(带示例)

Redis 支持的主要数据结构及其对应操作命令的详细解释,结合具体使用场景和示例: 1. 字符串(String) 用途:存储文本、数值或二进制数据,适用于缓存、计数器等。 常用命令: SET key value&#x…...

深度解读 Chinese CLIP 论文:开启中文视觉对比语言预训练

目录 论文概述1.论文摘要2.论文脑图3.论文创新3.1模型构建3.2训练方法3.3数据构建3.4部署优化 4.模型架构 论文解析1. 引言2. 方法2.1数据说明2.2预训练方法2.2.1模型初始化方法2.2.2两阶段预训练方法 2.3预训练细节2.3.1模型初始化2.3.2第一阶段预训练2.3.3第二阶段预训练2.3.…...

SpringBoot 2 后端通用开发模板搭建(异常处理,请求响应)

目录 一、环境准备 二、新建项目 三、整合依赖 1、MyBatis Plus 数据库操作 2、Hutool 工具库 3、Knife4j 接口文档 4、其他依赖 四、通用基础代码 1、自定义异常 2、响应包装类 3、全局异常处理器 4、请求包装类 5、全局跨域配置 补充:设置新建类/接…...

【Oracle专栏】sqlplus显示设置+脚本常用显示命令

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.内容概述 本文主要针对oracle 运维中常用知识点进行整理,包括: 1)sqlplus模式下,为了方便查询设置相应的行宽、列宽、行数。…...

DeepSeek 助力 Vue3 开发:打造丝滑的页眉(Header)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...

JVM线程分析详解

java线程状态: 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建…...

【备赛】点亮LED

LED部分的原理图 led前面有锁存器,这是为了防止led会受到lcd的干扰(lcd也需要用到这些引脚)。 每次想要对led操作,就需要先打开锁存器,再执行操作,最后关闭锁存器。 这里需要注意的是,引脚配置…...

【音视频】编解码相关概念总结

NALU RTP PS流 三者总体关系 NALU在RTP中的应用:视频流的RTP传输通常将NALU作为基本的单元进行传输。每个RTP包携带一个或多个NALU,这些NALU包含了视频编码数据。RTP协议通过其头部信息(如时间戳、序列号等)帮助接收端重新排列和…...

Python爬虫(四)- Selenium 安装与使用教程

文章目录 前言一、简介及安装1. Selenium 简介2. Selenium 安装 二、Selenium 基本使用1. 导入Selenium2. 启动浏览器3. 打开网页4. 获取页面标题5. 关闭浏览器6. 完整示例代码 三、Selenium WebDriver1. 简介2. 基本操作2.1 启动浏览器2.2 关闭浏览器2.3 打开网页2.4 关闭当前…...

Node.js项目启动流程以及各个模块执行顺序详解

Node.js项目启动流程以及各个模块执行顺序的问题。首先,我需要仔细阅读并理解我搜索到的资料,从中提取关键信息,然后综合这些信息组织成一个结构化的回答。 首先,根据我搜索到的资料都详细描述了Node.js的启动流程,涉及…...

各种类型网络安全竞赛有哪些 网络安全大赛的简称

本文是对入门学习的一些概念了解和一些常规场景记录 1.CTF(capture the flag)是夺旗赛的意思。 是网络安全技术人员之间进行攻防的比赛。 起源1996年DEFCON全球黑客大会,替代之前真实攻击的技术比拼。 (DEFCON极客大会诞生1993,…...

浅谈人工智能与深度学习的应用案例研究

人工智能与深度学习的应用案例研究 人工智能(AI)与深度学习技术正以惊人的速度渗透到社会生活的各个领域,从医疗健康到艺术创作,从金融风控到城市治理,其应用案例不断突破传统边界。以下是近年来具有代表性的六大应用方向及具体案例: 一、医疗健康:精准诊断与药物研发 医…...

vue2版本elementUI的table分页实现多选逻辑

1. 需求 我们需要在表格页上实现多选要求,该表格支持分页逻辑。 2. 认识属性 表格属性 参数说明类型可选值默认值data显示的数据array——row-key行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树形数据时&…...

AI数字人技术源码开发分享:革新短视频营销策略

集星幻影的AI数字人分身系统是一款融合了先进人工智能技术的综合性短视频营销解决方案。该系统整合了形象克隆、声音克隆、AI数字人分身生成、智能剪辑及文案创作等功能,旨在为用户打造虚拟人物资产并提供AI驱动的多模态交互服务。以下是该系统的主要功能概述&#…...

实验环境搭建集锦(docker linux ros2+强化学习环境+linux上单片机串口调试)

为了记住一些实验环境配置开的文章,边配置边记,免得之后忘了。 Docker环境搭建 yay -S docker //下载docker docker info //查看docker配置 sudo systemctl start docker //系统配置打开docker sudo systemctl enable docker //系统配置后台开启d…...

sql调优之数据库开发规范

数据库 数据库开发规范 也可用于PostgreSQL以及兼容PG的数据库 通用命名规则 【强制】 本规则适用于所有对象名,包括:库名、表名、列名、函数名、视图名、序列号名、别名等。 【强制】 对象名务必只使用小写字母,下划线,数字&…...

CogVideoX-2b适合谁?三类人群实战应用场景深度剖析

CogVideoX-2b适合谁?三类人群实战应用场景深度剖析 1. 当视频创作不再需要专业设备 你是否曾经想过制作一段短视频,却因为缺乏专业设备和技能而放弃?CogVideoX-2b的出现彻底改变了这一局面。这个基于智谱AI开源模型的文字生成视频工具&…...

BAAI/bge-m3环境配置全攻略:WebUI集成与语义分析服务搭建

BAAI/bge-m3环境配置全攻略:WebUI集成与语义分析服务搭建 1. 环境准备与快速部署 1.1 系统要求与依赖安装 BAAI/bge-m3作为当前最强大的开源语义嵌入模型之一,对运行环境有特定要求。以下是推荐的配置方案: 操作系统:Linux (U…...

ESP居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现妊

前言 Kubernetes 本身并不复杂,是我们把它搞复杂的。无论是刻意为之还是那种虽然出于好意却将优雅的原语堆砌成 鲁布戈德堡机械 的狂热。平台最初提供的 ReplicaSets、Services、ConfigMaps,这些基础组件简单直接,甚至显得有些枯燥。但后来我…...

网络爬虫是自动从互联网上采集数据的程序网络爬虫是自动从互联网上采集数据的程序,Python凭借其丰富的库生态系统和简洁语法,成为了爬虫开发的首选语言。本文将全面介绍

网络爬虫是自动从互联网上采集数据的程序网络爬虫是自动从互联网上采集数据的程序,Python凭借其丰富的库生态系统和简洁语法,成为了爬虫开发的首选语言。本文将全面介绍如何使用Python构建高效、合规的网络爬虫。一、爬虫基础与工作原理 网络爬虫本质上是…...

MAX30102传感器在可穿戴设备中的应用:如何优化心率和血氧检测的准确性

MAX30102传感器在可穿戴设备中的精准应用:从硬件设计到算法优化的全流程指南 在健康监测领域,可穿戴设备正经历从简单计步到专业级生理参数监测的转变。MAX30102作为一款集成了脉搏血氧和心率监测功能的生物传感器,凭借其小巧尺寸和低功耗特性…...

5步掌握labelCloud:打造专业级3D点云标注工作流

5步掌握labelCloud:打造专业级3D点云标注工作流 【免费下载链接】labelCloud A lightweight tool for labeling 3D bounding boxes in point clouds. 项目地址: https://gitcode.com/gh_mirrors/la/labelCloud 想要为你的自动驾驶项目或机器人视觉系统准备高…...

数据库回顾

题目:584. 寻找用户推荐人 表: Customer ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | referee_id | int | ---------------------- 在 SQL 中,id 是该表的…...

Qt6 Host + Updater 更新方案(1):整体流程与交互设计

你有没有遇到过这种尴尬:软件提示“有新版本”,点了更新却失败;或者更新到一半程序直接卡死;再或者最常见的——Windows 下主程序正在运行,EXE 被占用,根本没法覆盖替换。很多 Qt 新手第一次做在线升级&…...

告别系统臃肿:3步打造轻量高效的Windows 11系统

告别系统臃肿:3步打造轻量高效的Windows 11系统 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and customiz…...

终极游戏模组管理革命:XXMI启动器让二次元游戏体验全面升级

终极游戏模组管理革命:XXMI启动器让二次元游戏体验全面升级 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 你是否曾经为管理多个游戏的模组而烦恼?每个游…...