Jenkins详细使用教程

目录

1. 什么是Jenkins?

2. 为什么使用Jenkins?

3. 安装Jenkins

3.1 下载相关文件

 3.2 解压Linux版本的JDK

3.3 配置JDK环境

3.4 运行jenkins.war

3.5 安装完成

4. 访问Jenkins

 5. 修改密码

6. 集成JDK

7. Jenkins集成Git

7.1 使用Jenkins拉取Git仓库中的代码

8. Jenkins集成Maven

8.1 在Jenkins所在的服务器安装Maven

 8.2 配置环境变量

 8.3 修改maven配置文件(本地仓库和阿里云远程仓库地址)

 8.4 Jenkins拉取Maven项目

8.4.1 安装maven插件

 8.4.2 jenkins集成maven软件

9. 自动拉取

9.1 内外穿透

9.2 jenkins安装gitee插件

9.3 修改item任务的配置

 9.4 修改gitee仓库的配置


1. 什么是Jenkins?

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 

2. 为什么使用Jenkins?

 总的来说就是当你在idea写好代码上传到git上,jenkins帮你拉取文件,并且可以部署到Linux上,以便于测试。

3. 安装Jenkins

必须在linux系统上安装了jdk,而且jdk的版本是[11~20)之间。如果你的jdk版本是8的话,前面一切正常,但到了后面安装插件就会报错。

3.1 下载相关文件

http://mirrors.jenkins.io/war-stable/latest/jenkins.war

 3.2 解压Linux版本的JDK

tar -zxvf xxxx.tar.gz

3.3 配置JDK环境

  1. vi /etc/profile 
  2. 在文件的最后加上:export JAVA_HOME=/usr/app/jdk17
                                    export PATH=$JAVA_HOME/bin:$PATH
  3. 环境配置好后:source /etc/profile。

先运行yum install fontconfig:fontconfig 是一个灵活的字体配置和选择系统,用于定制字体查找规则并提高字体的可访问性和可读性。

3.4 运行jenkins.war

nohup java -jar /usr/app/jenkins.war  --httpPort=8777 >/usr/app/jenkins.log 2>&1 &

上面命令是在Linux系统中以后台方式启动Java应用程序(具体来说是Jenkins)而不占用终端会话。 

  1. nohup:这个命令意味着“不挂断”。它使得启动的进程不会因为终端会话结束而被终止。
  2. java -jar /usr/app/jenkins.war:这部分启动了Java应用程序。java -jar是运行Java Web应用程序的标准方式,/usr/app/jenkins.war是Jenkins应用的WAR文件路径。
  3. --httpPort=8777:这是传递给Jenkins应用的一个参数,指定了HTTP服务监听的端口为8777。
  4. >/usr/app/jenkins.log:这将标准输出重定向到/usr/app/jenkins.log文件,记录Jenkins运行时的所有输出信息。
  5. 2>&1:这将标准错误输出(通常为文件描述符2)重定向到与标准输出相同的地方(这里是指向jenkins.log)。这样做的目的是将所有输出(包括错误信息)都合并到同一个日志文件中。
  6. &:最后的符号&表示命令应该在后台运行,立即返回控制台,使用户可以继续执行其他命令,而Jenkins应用则在后台持续运行。

3.5 安装完成

查看日志:  

tail  -100 jenkins.log

 出现下面这种,说明安装完成。

4. 访问Jenkins

 即可访问jenkins安装的Linux的地址:8777:

运行得到管理员密码:

 等待安装所有需要的依赖:

 等待进度条满:

  创建用户:

 5. 修改密码

 在页面下方有password。

6. 集成JDK

找到Tools:

 添加JDK:

7. Jenkins集成Git

因为jenkins自动从git远程仓库拉取代码,所以要在jenkins所在的服务器上安装git。

yum install -y git

 再找到Tools:

 找到Git:

 如果你的Linux安装了git这里就不会报红了。

7.1 使用Jenkins拉取Git仓库中的代码

创建Item:

 完成新建:

 创建完毕后,找到源码管理:

 输入你的仓库地址:

 添加jenkins:

 填写好后,点至保存:

 现在jenkins无法自动拉取代码。(当仓库中的代码发生改变时无法自动拉取)

 结果:

8. Jenkins集成Maven

由于Jenkins本身不能对代码进行打包,所以我们需要集成maven,而且我们的项目几乎100%都是maven构建的项目。

8.1 在Jenkins所在的服务器安装Maven

 8.2 配置环境变量

  1. vi /etc/profile 
  2. 在文件的最后加上:export MAVEN_HOME=安装路径
                                     export PATH=$MAVEN_HOME/bin:$PATH
  3. 环境配置好后:source /etc/profile

查看:

 8.3 修改maven配置文件(本地仓库和阿里云远程仓库地址)

 8.4 Jenkins拉取Maven项目

8.4.1 安装maven插件

 8.4.2 jenkins集成maven软件

 找到Git,配置Git:

9. 自动拉取

gitee仓库的代码,默认gitee不允许内网拉取。这里设计一个知识点叫做内网穿透

9.1 内外穿透

通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现外网访问功能。

使用nat:

NATAPP1分钟快速新手图文教程 - NATAPP-内网穿透 基于ngrok的国内高速内网映射工具

9.2 jenkins安装gitee插件

9.3 修改item任务的配置

 生成Gitee WebHook 密码:

 9.4 修改gitee仓库的配置

 添加WebHook:

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

7月26日贪心练习-摆动序列专题

前言 大家好,今天学习用贪心思想解决摆动序列问题,共三题,分享自己的思路,请大家多多支持 算法思想 大家可以先看看这道我们后面会讲的题看看怎么个事,. - 力扣(LeetCode) 由此题题解说明算…

若依ruoyi+AI项目二次开发

//------------------------- //定义口味名称和口味列表静态数据 const dishFlavorListSelectref([ {name:"辣度",value:["不辣","微辣","中辣","重辣"]}, {name:"忌口",value:["不要葱","不要…

JVM之对象的创建过程

目录 对象的创建: 对象内存分配的两种方式: 指针碰撞: 空闲列表: 对象的内存布局(基本结构): 对象的访问定位: 主流的访问方式主要有使用句柄和直接指针两种。 对象的创建&…

基于微信小程序+SpringBoot+Vue的流浪动物救助(带1w+文档)

基于微信小程序SpringBootVue的流浪动物救助(带1w文档) 基于微信小程序SpringBootVue的流浪动物救助(带1w文档) 本系统实现的目标是使爱心人士都可以加入到流浪动物的救助工作中来。考虑到救助流浪动物的爱心人士文化水平不齐,所以本系统在设计时采用操作简单、界面…

FPGA实现LCD1602控制

目录 注意! 本工程采用野火征途PRO开发板,外接LCD1602部件进行测试。 有偿提供代码!!!可以定制功能!!! 联系方式见底部 一、基础知识 1.1 引脚信息 1.2 指令 1.2.1 清屏 1.…

ubuntu实践

目录 扩容 本机上ping不通新建立的虚拟机 ssh连接 装sshd ssh客户端版本较低,会报key exchange算法不匹配问题 ubuntun上装docker 将centos7下的安装包改造成适配 ubuntu的包 参考文章 扩容 Hyper-V 管理器安装的ubutun扩容磁盘空间说明_hype-v磁盘扩容-…

人工智能算法工程师(中级)课程20-模型注意力机制之注意力机制的原理、计算方式与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程20-模型注意力机制之注意力机制的原理、计算方式与代码详解。本文深入探讨了注意力机制在深度学习中的应用与原理,尤其聚焦于序列到序列模型的上下文中。通过直观的解释和详…

48 mysql 全局变量修改了时区, 客户端拿到的依然是旧时区

前言 这是一个 我们最近碰到的问题 在我们的一个 服务平台 查询到的时间字段 比 当前时区的当前时间多 8 小时 然后 这个问题 也是挺神奇的, navicate 上面查询到的 时间是在正常的时间 然后 查询环境变量 tz_zone 是 “08:00”, 也没有问题, 但是 客户端这边 拿到的是 当…

【HTML+CSS】HTML超链接:构建网页导航的基石

目录 什么是HTML超链接? 基本语法 示例 链接到另一个网页 链接到同一页面内的不同部分 常用属性 在Web开发的广阔世界中,HTML(HyperText Markup Language)作为网页内容的标准标记语言,扮演着至关重要的角色。而在…

nodejs安装及环境配置轨道交通运维检测系统App-OA人事办公排班故障维修

✌网站介绍:✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。 ✌服务范围:Java(SpringBoo/SSM)、Python、PHP、Nodejs、爬虫、数据可视化、小程序、安卓app、大数据等设计与开发。 ✌服务内容:免费功能设计、免费提供开题答辩P…

【SpringCloud】企业认证、分布式事务,分布式锁方案落地-2

目录 高并发缓存三问 - 穿透 缓存穿透 概念 现象举例 解决方案 缓存穿透 - 预热架构 缓存穿透 - 布隆过滤器 布隆过滤器 布隆过滤器基本思想​编辑 了解 高并发缓存三问 - 击穿 缓存击穿 高并发缓存三问 - 雪崩 缓存雪崩 解决方案 总结 为什么要使用数据字典&…

对Linux目录结构的补充

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️运维工程师的职责:监…

白鲸开源CEO郭炜荣获「2024中国数智化转型升级先锋人物」称号

2024年7月24日,由数据猿主办,IDC协办,新华社中国经济信息社、上海大数据联盟、上海市数商协会、上海超级计算中心作为支持单位,举办“数智新质力拓未来 2024企业数智化转型升级发展论坛——暨AI大模型趋势论坛”数据猿“年中特别策…

数据结构_study(一)

术语 程序设计数据结构算法 数据结构:相互之间存在一种或多种特定关系的数据元素的集合 数据:输入到计算机中可以操作的对象,数值类型(整型,浮点型),非数值类型(字符,…

算法——二分查找(day10)

目录 69. x 的平方根 题目解析: 算法解析: 代码: 35. 搜索插入位置 题目解析: 算法解析: 代码: 69. x 的平方根 69. x 的平方根 - 力扣(LeetCode) 题目解析: 老…

Linux 安装mysql-client-core-8.0

在Linux上安装mysql-client-core-8.0 安装流程 下面是安装mysql-client-core-8.0的步骤和相应的命令: 步骤1:更新系统软件源 我们首先需要更新系统的软件源,以确保我们能够获取到最新的软件包列表。使用以下命令更新软件源: …

C语言——运算符及表达式

C语言——运算符及表达式 运算符运算符的分类(自增运算符)、--(自减运算符)赋值运算符逗号运算符(顺序求值运算符) 表达式 运算符 运算符的分类 C语言的运算符范围很宽,除了控制语句和输入输出…

go语音进阶 Goroutine

什么是 Goroutine? 在Go语言中 是通过 ‘协程’ 来实现并发, Goroutine 是 Go 语言特有的名词, 区别于进程 Process, 线程Thread, 协程 Coroutine, 因为 Go语言的作者们觉得是有所区别的,所有专门创造做 Go…

python-绝对值排序(赛氪OJ)

[题目描述] 输入 n 个整数,按照绝对值从大到小排序后输出。保证所有整数的绝对值不同。输入格式: 输入数据有多组,每组占一行,每行的第一个数字为 n ,接着是 n 个整数, n0 表示输入数据的结束,不做处理。输…

Ruoyi-WMS本地运行

所需软件 1、JDK:8 安装包:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.htmlopen in new window 安装文档:https://cloud.tencent.com/developer/article/1698454open in new window 2、Redis 3.0 安装包&a…