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

ops/2025/3/1 22:22:46/

参考别人配置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.ppmy.cn/ops/162340.html

相关文章

linux学习笔记2

认知权限信息 -或d或l:-表示文件,d表示文件夹,l表示软链接 rwx:r表示读权限,w表示写权限,x表示执行权限 文件类型所属用户权限所属用户组权限其它用户权限 修改权限chmod [-R] 权限 文件或文件夹 -R对文件夹内的全部内容应用同样的操作 chmod -R urwx,grx,ox 可使用简单表示r4…

【Prometheus】prometheus服务发现与relabel原理解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

Vue 3指令全解析:内置指令与自定义指令实战指南

Vue指令是模板语法的核心武器,它们以v-前缀的形式为HTML元素添加特殊功能。本文将深入探讨Vue 3中的指令系统,覆盖10个核心指令的妙用,并手把手教你打造专属自定义指令。 一、Vue指令基础认知 指令本质上是DOM操作的语法糖,它们&…

从 Spring Boot 2 升级到 Spring Boot 3 的终极指南

一、升级前的核心准备 1. JDK 版本升级 Spring Boot 3 强制要求 Java 17 及以上版本。若当前项目使用 Java 8 或 11,需按以下步骤操作: 安装 JDK 17:从 Oracle 或 OpenJDK 官网下载,配置环境变量(如 JAVA_HOME&…

记一次命令行启动springboot项目的问题 java -jar的问题

错误的写法 java -jar ruoyi-admin.jar -Dloader.path.\lib 正确的写法 java -Dloader.path./lib -jar ruoyi-admin.jar 或者 java -jar -Dloader.path./lib ruoyi-admin.jar -Dloader.path必须卸载 -jar ruoyi-admin.jar之前,其实我试过了-Dloader.path命令只要…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(11)

详解(11) 初始化配置解析上下文 senv environ;ngx_memzero(&conf, sizeof(ngx_conf_t));/* STUB: init array ? */conf.args ngx_array_create(pool, 10, sizeof(ngx_str_t));if (conf.args NULL) {ngx_destroy_pool(pool);return NULL;}conf.te…

Go语言学习笔记(五)

文章目录 十八、go操作MySQL、RedisMySQLRedis 十九、泛型泛型函数泛型类型泛型约束泛型特化泛型接口 二十、workspaces核心概念示例 二十一、模糊测试 十八、go操作MySQL、Redis MySQL package mainimport ("database/sql""errors""fmt"_ &qu…

关于手眼标定的数学模型及标定流程

手眼标定介绍 在手眼标定中,AXXB和AXYB是两种常见的数学模型,用于描述相机和机械臂之间的关系。 手眼标定中的两种情况:眼在手上(Eye-in-Hand)和眼在手外(Eye-to-Hand) 求解略有不同&#xff…