Linux - 安装 Jenkins(详细教程)

目录

  • 前言
  • 一、简介
  • 二、安装前准备
  • 三、下载与安装
  • 四、配置镜像地址
  • 五、启动与关闭
  • 六、常用插件的安装


前言

虽然说网上有很多关于 Jenkins 安装的教程,但是大部分都不够详细,或者是需要搭配 docker 或者 k8s 等进行安装,对于新手小白而已,学习的成本确实有点大,所以该篇博客就是使用最原始的方式进行 Jenkins 的安装


一、简介

官网:https://www.jenkins.io

中文文档:https://www.jenkins.io/zh/

在这里插入图片描述
Jenkins 是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。


二、安装前准备

从 Jenkins 的入门指南 中可以了解到

在这里插入图片描述

Jenkins 对机器的要求是至少要 256 MB 的内存,还需要安装 Java

可以 java -version 命令来检查是否已经安装了 Java,如果有打印出 Java 的版本信息则表示已经安装过了

在这里插入图片描述

如何在 Linux 上安装 Java,具体步骤可参见博客:Linux - java 环境配置

假如你需要像我一样使用 JenkinsLinux 上构建 Java 项目,可先安装一下 maven,可参考博客:Linux - 安装 maven(详细教程)

Linux 上安装 Jenkins 非常简单,如果只是为了学习没必要非得使用 docker,和在 Windows 上用 war 包进行安装差不多,因为 war 是跨平台的,只需要系统上安装了 Java ,均可以 java -jar 的命令运行起来


三、下载与安装

进入 Jenkins 的 官方下载页面

在这里插入图片描述

LTS 是长期支持的版本,是稳定的版本

在下载安装包之前要先确定应该下载哪个版本的 JenkinsJenkins 的版本依赖于 Java 的版本,可在 Jenkins-Java Support Policy 中进行查看

在这里插入图片描述

如果你下载的 Jenkins 版本与本地 Java 不支持,那么 Jenkins 是无法安装成功的,比如说我服务器上 JDK 的版本是 1.8.0_311,也就是 Java 8,那么我只能安装 2.346.1 或者该版本之前的,在 Past Releases 上可以查看到历史版本

注意:不过还是建议大家去安装 JDK-21,直接下载最新版本的 Jenkins,要不然插件安装会比较麻烦

在这里插入图片描述

页面如下 :

在这里插入图片描述

比如我要下载 2.346.1 版本的,就下载该版本的 jenkins.war 文件

在这里插入图片描述

在这里插入图片描述

下载完成之后就把该 war 包上传至服务器

这里我会先在服务器上创建一个 /soft/jenkins 的文件夹用于存放 jenkins 的安装包,并进入到该目录下

# 创建 /soft/jenkins 文件夹
mkdir /soft/jenkins
# 进入到 /soft/jenkins 文件夹下
cd /soft/jenkins

在这里插入图片描述

使用 rz 命令将下载好的安装包上传到该目录下

在这里插入图片描述

可以用 ls 命令查看是否上传成功

在这里插入图片描述

上传成功之后就可以直接用 java -jar 命令启动起来,可以通过 httpPort 来指定端口号

java -jar jenkins.war --httpPort=8080

在这里插入图片描述

首次启动会比较慢,因为需要初始化和存放一些文件到 .jenkins 的目录下

在这里插入图片描述

在启动过程中会打印出 管理员账户密码

这个时候就可以去游览器上访问下 ip:portip 是服务器的 ip 地址,port 是启动 jenkins 的端口,比如:192.163.10.12:8080 ,如果你用的是 云服务器,可别忘了在云服务器上开放该端口号

在这里插入图片描述

在游览器上展示页面如下,就可以进行初始化了

在这里插入图片描述

管理员账户密码 复制到对应的地方,点击 继续

在这里插入图片描述

这里建议点击 选择插件来安装,在点击 ,不安装任何插件,再点击 安装,因为我们没有配置镜像,安装插件是从外网下载
过来的,会比较慢,并且下载的插件可能会出现不兼容等状况,导致失败率很高

在这里插入图片描述

进入到创建管理员页面,填写账户信息后 保存并完成

在这里插入图片描述

进入以下页面配置 jenkinsurl ,一般使用默认的就行了,保存并完成

在这里插入图片描述

初始化完成

在这里插入图片描述

可以点击 开始使用 Jenkins 直接登录进入 Jenkins

在这里插入图片描述


四、配置镜像地址

之前启动 Jenkins 时会打印出管理员账户密码所在文件,例如:/root/.jenkins/secrets/initialAdminPassword/root/.jenkins 就是 jenkins 的工作目录,在 jenkins 的工作目录 .jenkins 中,找到 hudson.model.UpdateCenter.xml 文件打开

在这里插入图片描述

https://updates.jenkins.io/update-center.json 替换成国内镜像网址并 保存

  • 国内镜像网址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  • 国外镜像网址:https://mirror.xmission.com/jenkins/updates/update-center.json

在这里插入图片描述

再进入到 updates 目录下,编辑 default.json 文件,将该文件中国外的地址全部替换成国内的

在这里插入图片描述

  • https://www.google.com 全部替换成 https://www.baidu.com

在这里插入图片描述

  • https://updates.jenkins.io/download 全部替换成 https://mirrors.tuna.tsinghua.edu.cn/jenkins

在这里插入图片描述


五、启动与关闭

1. 启动

前文是有用到 java -jar 的命令启动了 Jenkins,这里简单总结以下:

  • 前台启动
#特点:当前ssh窗口被锁定,可按 CTRL+C 打断程序运行,或直接关闭窗口,程序退出
java -jar jenkins.war --httpPort=8080#特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
java -jar jenkins.war --httpPort=8080 & 
  • 后台启动
# nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
# 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到 nohup.out 的文件中
nohup java -jar jenkins.war --httpPort=8080 &# 这种方法会把日志文件输入到你指定的文件 jenkins.log 中,没有则会自动创建
nohup java -jar jenkins.war --httpPort=8080 >jenkins.log &

如果用的是云服务器,直接后台启动就行了,即使关闭终端,程序依然可以运行

2. 关闭

可以先查询 Jenkins 的进程

ps -ef | grep jenkins

在这里插入图片描述

然后再通过 kill 命令来关闭程序

# 彻底杀死进程号为 pid 的进程
kill -9 pid

六、常用插件的安装

Jenkins 相当于一个平台,它很多的功能都是通过对应的插件去实现的,所以插件安装对于使用 Jenkins 非常的重要

Jenkins 中常用的插件如下:

  • Folders
  • OWASP Markup Formatter
  • Build Timeout
  • Credentials Binding
  • Timestamper
  • Workspace Cleanup
  • Ant
  • Gradle
  • Pipeline
  • GitHub Branch Source
  • Pipeline:GitHub Groovy Libraries
  • Pipeline:Stage View
  • Git
  • SSH Build Agents
  • Matrix Authorization Strategy
  • PAM Authentication
  • LDAP
  • Email Extension
  • Mailer
  • Dark Theme
  • Localization: Chinese (Simplified)

下面我以安装插件 Loale 为例,演示安装插件的大概步骤

访问 Jenkins ,选择 Manage Jenkins

在这里插入图片描述

选择 Manage Plugins

在这里插入图片描述

选择 Available

在这里插入图片描述

搜索栏中搜索 Locale

在这里插入图片描述

如果下载页面没有红色的警告,点击 Download now and install after restart 就会下载最新版本的插件,安装并重启,跳转至重启后 -->

如果有类似:Warning: This plugin is built for Jenkins 2.426.2 or newer. Jenkins will refuse to load this plugin if installed. 这样的提示,就表明当前插件的版本和你所下载的 Jenkins 的版本不兼容,很大概率会安装不成功,这个时候就需要去下载兼容该 Jenkins 版本的插件

点击插件的名称,打开该插件对应的网址

在这里插入图片描述

点击 Releases

在这里插入图片描述

再点击 checksums,就可以看到插件对应的版本了

在这里插入图片描述

比如说我下载的 Jenkins 版本是 2.346.1,那我下载 180.v207501dff9b_a_,点击即可

在这里插入图片描述

插件下载完成

在这里插入图片描述

回到 Jenkins 中,点击 Advanced

在这里插入图片描述

下拉找到 Deploy Plugin,这里可以上传本地下载好的插件,上传完之后点击 Deploy

在这里插入图片描述

就会开始安装该插件

在这里插入图片描述

可以在 Installed 中看到刚刚手动安装的插件了

在这里插入图片描述

接着就重启 Jenkins 使该插件生效

重启方法:在 URL 的后面加上 restart,例如:http://localhost:8080/restart

在这里插入图片描述

点击 Yes 即可重启

在这里插入图片描述

重启完成,再次登录并选择 Manage Jenkins

在这里插入图片描述

选择 Configure System

在这里插入图片描述

找到 Locale 选项,输入 zh_CN 勾选下面的选项,点击 Applysave

在这里插入图片描述

如果以上方法已经生效了,表明汉化插件已经安装完成,如果没有生效,则还需要安装一个汉化包

搜索插件 Localization: Chinese

在这里插入图片描述

按照上述方式进行安装重启

在这里插入图片描述

重启之后可以看到汉化完成

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

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

相关文章

虚拟机中安装Win98

文章目录 一、下载Win98二、制作可启动光盘三、VMware中安装Win98四、Qemu中安装Win981. Qemu的安装2. 安装Win98 Win98是微软于1998年发布的16位与32位混合的操作系统,也是一代经典的操作系统,期间出现了不少经典的软件与游戏,还是值得怀念的…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:CalendarPicker)

日历选择器组件,提供下拉日历弹窗,可以让用户选择日期。 说明: 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 CalendarPicker(options?: CalendarOptions) …

Docker-部署若依项目

文章目录 后端一、搭建局域网二、redis安装测试 三、MySQL安装四、后端项目放入位置及使用Dockerfile自定义镜像后端项目放入位置 前端配置检查各个端口是否启动nginx部署 首先得先把内部的文件给删除清空 docker images–查看有哪些文件 docker rmi -f ID–删除ID 后端 一、…

跨境账号养号怎么做?Facebook、亚马逊运营必看

之前我们讨论过很多关于代理器的问题。它们的工作原理是什么?在不同的软件中要使用那些代理服务器?这些代理服务器之间的区别是什么?什么是反检测浏览器等等。 除了这些问题,相信很多人也会关心在使用不同平台的时代理器的选择问题。比如,为什么最好…

【axios】你的进度条准确吗

1、axios监听进度 上传和下载操作在前端中是非常常见的,当我们想知道上传或下载的进度时也不难,axios已经实现了监听进度的方法 import axios from axios// 上传请求 axios.post(/api/v1/upload, {data: xxx},{// onUploadProgress回调可以获取进度onU…

提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C++风格字符串完成

#include <iostream> #include <array> using namespace std;int main() {cout<<"请输入一个字符串"<<endl;//array<string,100> str;string str;getline(cin,str);int daxie0,xiaoxie0,num0,space0,other0;int lenstr.size();;for(in…

vue接入百度地图获取经纬度

通过城市名称和城市中心经纬度来获取当前所在地图&#xff0c;当前经纬度中心获取可以通过后端获取 静态文件包&#xff0c;替换baidu.html中的ak值&#xff0c;ak值通过百度地图官方网站申请 申请&#xff1a;百度地图API申请步骤 - 知乎 代码示例文件&#xff1a; 链接&a…

数组:初始化,访问某一个,遍历

文章目录 静态初始化数组数组的访问&#xff1a;遍历数组案例 动态初始化数组总结案例 静态初始化数组 定义数组的时候直接给数组赋值。 简化格式&#xff1a; int[] ages {12,52,96}; 完整格式&#xff1a; int[] ages new int[]{12,16,26};数组变量名中存储的是数组在内存…

【字典合集】SecLists-更全面的渗透测试字典 v2024.1

下路路径 SecLists-更全面的渗透测试字典 v2024.1 简介 SecLists 是一个致力于收集各种安全字典的开源项目。这些字典包括但不限于&#xff1a;密码字典、用户名字典、网络扫描结果、漏洞利用载荷、web shells、可用于渗透测试的Payloads、以及其他各种安全相关的字典。 这…

面试官:线程调用2次start会怎样?我支支吾吾没答上来

写在开头 在写完上一篇文章《Java面试必考题之线程的生命周期&#xff0c;结合源码&#xff0c;透彻讲解!》后&#xff0c;本以为这个小知识点就总结完了。 但刚刚吃晚饭时&#xff0c;突然想到了多年前自己面试时的亲身经历&#xff0c;决定再回来补充一个小知识点&#xff…

C++写食堂菜品管理系统

说明:本博文来自CSDN-问答板块,题主提问。 需要:学校拟开发一套食堂菜品管理系统,以便对菜品和同学们的评价进行管理,其中包含如下信息: 商户:商户名称、柜面位置、电话…… 菜品:菜品编号、菜品名称、价格、所属商户…… 学生:注册账号、昵称、电话…… 食堂里的商户…

【机器学习300问】28、什么是决策树?

〇、两个预测任务 &#xff08;1&#xff09;任务一&#xff1a;银行预测偿还能力 当前&#xff0c;某银行正致力于发掘潜在的放贷用户。他们掌握了每位用户的三个关键特征&#xff1a;房产状况、婚姻状况以及年收入。此外&#xff0c;银行还拥有过往这些用户的债务偿还能力的…

【Linux进阶之路】网络 —— “?“ (下)

文章目录 前言一、概念铺垫1.TCP2.全双工 二、网络版本计算器1. 原理简要2. 实现框架&&代码2.1 封装socket2.2 客户端与服务端2.3 封装与解包2.4 请求与响应2.5 对数据进行处理2.6 主程序逻辑 3.Json的简单使用 总结尾序 前言 在上文我们学习使用套接字的相关接口进行了…

《计算机网络》考研:2024/3/7 2.1.4 奈氏准则和香农定理

2024/3/7 (作者转行去干LLMs了&#xff0c;但是又想搞定考研&#xff0c;忙不过来了就全截图了呜呜呜。。。 生活真不容易。) 2.1.4 奈氏准则与香农定理

个人博客系列-后端项目-用户验证(5)

介绍 创建系统管理app&#xff0c;用于管理系统的用户&#xff0c;角色&#xff0c;权限&#xff0c;登录等功能&#xff0c;项目中将使用django-rest_framework进行用户认证和权限解析。这里将完成用户认证 用户验证 rest_framework.authentication模块中的认证类&#xff…

升级ChatGPT4.0失败的解决方案

ChatGPT 4.0科普 ChatGPT 4.0是一款具有多项出众功能的新一代AI语言模型。以下是关于ChatGPT 4.0的一些关键特点和科普内容&#xff1a; 多模态&#xff1a;ChatGPT 4.0具备处理不同类型输入和输出的能力。这意味着它不仅可以接收文字信息&#xff0c;还能处理图片、视频等多…

基于springboot+vue的旅游管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

简单接入电商API接口|轻松实现实时采集淘宝、抖音、快手、1688商品,挖掘潜力款

今天给大家带来一款非常实用的电商API接口&#xff0c;这款数据采集接口支持淘宝采集、抖音采集、快手采集、1688采集以及潜力款分析&#xff0c;功能强大&#xff0c;助您在电商领域更上一层楼。 首先&#xff0c;我们来了解一下淘宝采集功能。作为国内最大的电商平台&#xf…

UI学习 一

教程&#xff1a;Accessibility – Material Design 3 需要科学上网&#xff0c;否则图片显示不出来。设计教程没有图片说明&#xff0c;不容易理解。 优化UI方向 清晰可见的元素足够的对比度和尺寸重要性的明确等级一眼就能辨别的关键信息 传达某一事物的相对重要性 将重…

AI会砸了我们的饭碗?

Sora&#xff0c;由OpenAI推出&#xff0c;是一款创新的文本到视频生成模型。它能够将文本描述转化为引人入胜的高清视频片段。采用了扩散模型和变换器架构&#xff0c;Sora实现了高效的训练。其方法包括统一表示法、基于补丁的表示法、视频压缩网络和扩散变换器。 Sora具备多种…