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拉取下来的项目并编译的日志,日志最后可看到工作空间地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提升数据洞察力:五款报表软件助力企业智能决策

概述 随着数据量的激增和企业对决策支持需求的提升,报表软件已经成为现代企业管理中不可或缺的工具。这些软件能够帮助企业高效处理数据、生成报告,并将数据可视化,从而推动更智能的决策过程。 1. 山海鲸报表 概述: 山海鲸报表…

MySQL中replace函数用法

语法:replace(field,search,replace) 说明:field - 数据库表的列名 search - 需要替换的字符串 replace - 替换成的字符串 语义:将列名:field 中出现的search字符串,全部替换成replace字符串。 例子: …

Wireshark Lua 插件教程

本⽂主要介绍 Lua 脚本在 Wireshark 中的应⽤, Lua 脚本可以在 Wireshark 中完成如下功能: 从⽹络包中提取数据, 或者统计⼀些数据包(Dumper) 需要解析⼀种 Wireshark 不提供原⽣⽀持的协议(Dissector) ⽰例 协议解析 VREP 协议是 NOGD 框架对于 TRIP 协议的⼀种延伸和扩展…

吐血整理:在 Docker 中运行 Milvus

直接用docker 错误命令(这个我试了三遍,浪费了很多时间): docker run -d --name milvus -p 19530:19530 -p 9091:9091 -v /var/lib/milvus:/var/lib/milvus milvusdb/milvus:latest 先看报错: 2025-02-24 16:02:39 …

【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt

在移动应用开发中,数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说,缓存(Cache)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…

【Excel】 Power Query抓取多页数据导入到Excel

抓取多页数据想必大多数人都会,只要会点编程技项的人都不会是难事儿。那么,如果只是单纯的利用Excel软件,我还真的没弄过。昨天,我就因为这个在网上找了好久发好久。 1、在数据-》新建查询-》从其他源-》自网站 ,如图 …

星环科技推出DeepSeek全场景解决方案:即开即用、企业级部署、端侧智能三位一体

星环科技(688031.SH)正式发布DeepSeek全场景解决方案,全面覆盖个人用户、企业客户及行业场景需求,为用户提供从个人到企业、从云端到本地的全方位AI应用支持,为不同需求的用户提供了灵活、高效且安全的AI解决方案。 省…

let、const【ES6】

‌“我唯一知道的就是我一无所知。” - 苏格拉底 目录 块级作用域:var、let、const的对比:Object.freeze(): 块级作用域: 块级作用域指由 {} 包围的代码块(如 if、for、while、单独代码块等)形成的独立作用…

C++ 常见面试知识点

主要介绍C常见面试题 1、说一下你理解的C中的四种智能指针 常用接口 T* get(); T& operator*(); T* operator->(); T& operator(const T& val); T* release(); 将 封装在内部的指针置为nullptr, 但并不会破坏指针所指向的内容, 函 数返回的是内部指针置空之前…

AWS API Gateway灰度验证实现

在微服务架构中,灰度发布(金丝雀发布)是验证新版本稳定性的核心手段。通过将小部分流量(如 10%)导向新版本服务,可以在不影响整体系统的情况下快速发现问题。AWS API Gateway 原生支持流量按比例分配功能,无需复杂编码即可实现灰度验证。本文将详细解析其实现方法、最佳…

基于coze+微信小程序实现图片上传并利用大模型解析

项目截图&#xff1a; 实现代码&#xff08;直接搬去可用&#xff09; 前提&#xff1a;需要填写你的oss配置coze的api授权配置&#xff01;&#xff01;&#xff01; <template><view class"container"><!-- 高斯模糊背景 --><view class&qu…

Spring-boot3.4最新版整合swagger和Mybatis-plus

好家伙,今天终于开始用spring-boot3开始写项目了&#xff0c;以后要彻底告别1.x和2.x了&#xff0c;同样的jdk也来到了最低17的要求了,废话不多说直接开始 这是官方文档的要求jdk最低是17 maven最低是3.6 一. 构建工程,这一步就不需要给大家解释了吧 二. 整合Knife4j 1.大于…

jQuery UI API 文档

jQuery UI API 文档 引言 jQuery UI 是一个基于 jQuery 的用户界面库,它提供了丰富的交互式组件和效果,使得网页开发变得更加简单和高效。本文档旨在为开发者提供全面的 jQuery UI API 信息,帮助您更好地理解和应用 jQuery UI。 jQuery UI 简介 什么是 jQuery UI? jQu…

java GUI编程实现一个计算器

概述 闲来无事&#xff0c;利用java awt库写个简单的计算器玩玩。 实现 pom.xml <dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26</version></dependency&…

C#装箱拆箱机制详解

在C#中&#xff0c;装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09; 是值类型与引用类型之间转换的核心机制。它们的实现直接影响程序的性能和类型安全。 一、装箱&#xff08;Boxing&#xff09; 定义&#xff1a; 将值类型转换为引用类型&#…

MySQL 8.4 SQL 全攻略:所有知识点与实战场景

一、引言 MySQL 作为一款广泛使用的开源关系型数据库管理系统&#xff0c;在数据存储和管理领域占据着重要地位。MySQL 8.4 版本在性能、功能和安全性等方面都有了显著的提升。本文将全面介绍 MySQL 8.4 中 SQL 的各种知识点&#xff0c;并结合实战场景进行详细讲解&#xff0…

Qt监控系统远程回放/录像文件远程下载/录像文件打上水印/批量多线程极速下载

一、前言说明 在做这个功能的时候&#xff0c;着实费了点心思&#xff0c;好在之前做ffmpeg加密解密的时候&#xff0c;已经打通了极速加密保存文件&#xff0c;主要就是之前的类中新增了进度提示信号&#xff0c;比如当前已经处理到哪个position位置&#xff0c;发个信号出来…

超高速工业相机的应用

超高速工业相机一般安装在机器流水线上代替人眼来做测量和判断&#xff0c;通过数字图像摄取目标转换成图像信号&#xff0c;传送给专用的图像处理系统。图像处理系统对这些信号进行各种运算来抽取目标的特征&#xff0c;进而根据判别的结果来控制现场的设备动作。一般来说&…

Plugin ‘mysql_native_password‘ is not loaded`

Plugin ‘mysql_native_password’ is not loaded mysql_native_password介绍1. 使用默认的认证插件2. 修改 my.cnf 或 my.ini 配置文件3. 加载插件&#xff08;如果确实没有加载&#xff09;4. 重新安装或检查 MySQL 版本 遇到错误 ERROR 1524 (HY000): Plugin mysql_nativ…

苍穹外卖-阿里云OSS文件上传

苍穹外卖-阿里云OSS文件上传 一、阿里云OSS简介**获取AccessKey**获取enpoint 二、代码实现1 引入依赖2 定义OSS相关配置2.1 application-dev.yml2.2 application.yml 3 读取OSS配置3.1 AliOssProperties 4 生成OSS工具类对象4.1 AliOssUtil4.2 OssConfiguration2.5 CommonCont…