当前位置: 首页 > 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的数据库 通用命名规则 【强制】 本规则适用于所有对象名,包括:库名、表名、列名、函数名、视图名、序列号名、别名等。 【强制】 对象名务必只使用小写字母,下划线,数字&…...

AI时代程序员职业发展与个人创业可行性研究报告

一、行业宏观变革(2026核心趋势数据佐证) 1.1 开发范式已彻底重构(行业不可逆拐点) 2026年正式进入AI Agent智能体开发时代,传统CRUD编码价值持续崩塌。 核心权威数据: Gartner预测:2026年75%企…...

智慧树自动刷课助手:3步告别手动操作的学习效率工具

智慧树自动刷课助手:3步告别手动操作的学习效率工具 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的重复刷课操作而烦恼吗?智…...

如何从零构建智能FOC轮腿机器人:完整开源硬件系统终极指南

如何从零构建智能FOC轮腿机器人:完整开源硬件系统终极指南 【免费下载链接】foc-wheel-legged-robot Open source materials for a novel structured legged robot, including mechanical design, electronic design, algorithm simulation, and software developme…...

基于可解释机器学习的城市人口流动空间降尺度分析实践

1. 项目概述:从宏观到微观,解码城市脉搏在城市的肌理中,人口的流动如同血液的循环,承载着经济活力、社会互动与空间结构的全部信息。无论是城市规划师优化公交线路,还是商业分析师评估店铺选址,亦或是公共卫…...

从游戏引擎到仿真平台:手把手教你用AirSim+UE4搭建你的第一个无人机/自动驾驶仿真环境

从游戏引擎到仿真平台:构建AirSimUE4无人机与自动驾驶仿真环境实战指南当游戏引擎遇上机器人算法测试,会碰撞出怎样的火花?微软开源的AirSim项目将虚幻引擎(Unreal Engine)从游戏开发领域引入到自动驾驶和无人机研究的…...

为什么鸿蒙 App 最终都会走向状态驱动?

子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...

DAIR-V2X-V数据集深度评测:与KITTI、nuScenes比,它到底强在哪?

DAIR-V2X-V数据集深度评测:与KITTI、nuScenes比,它到底强在哪? 当技术团队着手开发面向中国道路的自动驾驶系统时,数据集的选择往往成为第一个关键决策点。过去十年间,KITTI和nuScenes等国际数据集一直是行业标杆&…...

构建智能音乐档案:SoundCloud Downloader 的技术架构与实现哲学

构建智能音乐档案:SoundCloud Downloader 的技术架构与实现哲学 【免费下载链接】scdl Soundcloud Music Downloader 项目地址: https://gitcode.com/gh_mirrors/sc/scdl 在流媒体音乐主导的时代,音乐爱好者面临着一种矛盾:我们享受着…...

别让依赖毁了你的实验:记一次Vision Mamba复现中causal_conv1d与mamba-ssm的版本“打架”事件

Vision Mamba复现实战:破解依赖冲突的工程化解决方案在深度学习项目的复现过程中,依赖管理往往是最容易被忽视却又最常导致问题的环节。最近在复现Vision Mamba模型时,我遭遇了一场典型的Python依赖"战争"——causal_conv1d与mamba…...

中小企无需重型数据中台:轻量化数据体系搭建完整方案

过去几年,“数据中台”一度成为企业数字化的标配热词。大量中小企业盲目跟风搭建重型数据中台,投入高额成本、耗费数月甚至数年周期,最终落地效果极差:功能冗余、运维复杂、使用率低、投入产出比失衡。大量项目最终沦为“摆设式中…...