Jenkins基础篇 - Jenkins介绍与安装示例

ops/2025/2/9 3:10:58/

文章目录

  • 1. Jenkins介绍
  • 2. Jenkins安装
    • 2.1 使用War文件安装
      • 2.1.1 硬件要求
      • 2.1.2 软件要求
      • 2.1.3 安装Java
      • 2.1.4 安装Jenkins
  • 3 安装后设置向导
    • 3.1 解锁Jenkins
    • 3.2 自定义Jenkins插件
    • 3.3 创建第一个管理员用户
    • 3.4 实例配置
    • 3.5 Jenkins已就绪!!!

1. Jenkins介绍

Jenkins
Jenkins是一个独立的开源自动化服务器,可以用于自动化执行与软件构建、测试、交付、部署相关的各种任务。

  • Jenkins官网

jenkins的作用如下图所示:自动去git上拉取代码,然后构建打包生成jar包,然后部署。实现持续集成CI,持续部署CD。
Jenkins的作用

2. Jenkins安装

Jenkins 通常作为独立应用程序在其自己的进程中运行。Jenkins WAR 文件捆绑了Winstone(一个Jetty servlet 容器包装器),并且可以在任何操作系统或平台上启动,只要该操作系统或平台上安装了 Jenkins 支持的 Java 版本。

理论上,Jenkins 也可以在传统的 servlet 容器(如Apache Tomcat或WildFly)中作为 servlet 运行,但在实践中,这在很大程度上未经测试,并且存在许多注意事项。特别是,对 WebSocket 代理的支持仅适用于 Jetty servlet 容器。有关详细信息,请参阅Servlet 容器支持策略页面。

2.1 使用War文件安装

Jenkins Web 应用程序 ARchive (WAR) 文件捆绑了Winstone(一个Jetty servlet 容器包装器),可以在任何操作系统或平台上启动,只要该操作系统或平台上安装了 Jenkins 支持的 Java 版本。

2.1.1 硬件要求

  • 最低硬件要求:
    • 256 MB RAM
    • 1 GB 的驱动器空间(但如果将 Jenkins 作为 Docker 容器运行,则建议最低 10 GB)
  • 小型团队的推荐硬件配置:
    • 4 GB 以上的 RAM
    • 50 GB 以上的驱动器空间
  • 综合硬件建议:
    • 硬件:请参阅硬件推荐页面

2.1.2 软件要求

  • Java:请参阅Java 要求页面
  • Web 浏览器:请参阅Web 浏览器兼容性页面
  • 对于 Windows 操作系统:Windows 支持策略
  • 对于 Linux 操作系统:Linux 支持政策
  • 对于 servlet 容器:Servlet 容器支持策略

2.1.3 安装Java

安装Jenkins前,需要先安装对应版本的Java:
在这里插入图片描述这里我们选择安装Java 21:

  1. 创建Java安装目录
    mkdir /usr/local/java
    
  2. 下载Java 21
    cd /usr/local/javawget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
    
  3. 下载完成后解压
    tar -zvxf jdk-21_linux-x64_bin.tar.gz
    
  4. 设置环境变量
    打开文件
    vim /etc/profile
    
    在末尾添加
    export JAVA_HOME=/usr/local/java/jdk-21.0.6
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    
    使环境变量生效
    source /etc/profile
    
    添加软链接
    ln -s /usr/local/java/jdk-21.0.6/bin/java /usr/bin/java
    
  5. 检查java安装结果
    java -version
    

在这里插入图片描述

2.1.4 安装Jenkins

接下来开始安装Jenkins:

  1. 创建Jenkins安装目录
    mkdir /usr/local/nginxcd /usr/local/nginx
    
  2. 下载Jenkins War文件
    wget https://get.jenkins.io/war-stable/2.479.1/jenkins.war
    
  3. 运行命令:java -jar jenkins.war

    如果执行报错,可以尝试先执行安装字体库的操作yum install fontconfig,然后再执行上述命令
    在这里插入图片描述

3 安装后设置向导

3.1 解锁Jenkins

安装完成后,使用浏览器打开Jenkins网址,默认为8080端口。
在这里插入图片描述
在“管理员密码”处输入安装Jenkins时,控制台打印的密码(也可以查看页面中指定的文件,来获取初始管理员密码)。
在这里插入图片描述

3.2 自定义Jenkins插件

在这里,您可以安装任意数量的有用插件作为初始设置的一部分。
单击显示的两个选项之一:

  • 安装建议的插件:安装基于最常见用例的推荐插件集。
  • 选择要安装的插件:选择最初要安装的插件集。首次访问插件选择页面时,默认选择建议的插件。

如果你不确定需要哪些插件,请选择安装建议的插件。你可以在以后通过 Jenkins 中的管理 Jenkins > 插件页面安装(或删除)其他 Jenkins 插件。

在这里插入图片描述

安装向导显示 Jenkins 的配置进度以及您选择的 Jenkins 插件的安装进度。此过程可能需要几分钟。
在这里插入图片描述

3.3 创建第一个管理员用户

在这里插入图片描述

3.4 实例配置

在这里插入图片描述

3.5 Jenkins已就绪!!!

在这里插入图片描述


http://www.ppmy.cn/ops/156870.html

相关文章

VC播放mp3的方法

1、使用msi库 #include <mmsystem.h> #pragma comment(lib,"winmm.lib") .......//打开文件MCI_OPEN_PARMS mciOpen; mciOpen.lpstrDeviceType _T("mpegvideo"); mciOpen.lpstrElementName _T("c://1.mp3"); MCIERROR mciError mci…

【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目

解决idea至少创建jdk17项目 问题 idea现在只能创建最少jdk17&#xff0c;不能创建java8了吗?解决 问题 idea现在只能创建最少jdk17&#xff0c;不能创建java8了吗 我本来以为是 IDEA 版本更新导致的 Bug&#xff0c;开始还没在意。 直到我今天自己初始化项目时才发现&am…

102,【2】buuctf web [第二章 web进阶]XSS闯关

进入靶场 点击看看 前情提要 如果只想得到flag时 不想做题时&#xff0c;把level由1不断往下修改就可通过一关又一关 最后在url处修改level为7即可得到flag 通过做题破解每一关的话&#xff0c;就如下 操作 第一关 修改url <script>alert(xss)</script> 第二…

《具身智能时代:机器人具身抓取技术的前沿探索与应用综述》

自2022年GPT等大模型的爆发以来&#xff0c;人工智能领域以语言模型为代表的预训练模型在多个领域掀起了创新浪潮。到了2024年&#xff0c;DeepSeek等新技术进一步加速了具身智能的发展&#xff0c;特别是在机器人领域&#xff0c;预训练模型的引入深刻改变了传统的感知、决策和…

一次报警了解:direct path read、enq: KO - fast object checkpoint

背景 今天突然接到订单超时报警&#xff0c;数据库的状态确实惊出一身冷汗&#xff0c;查看系统日志正常&#xff0c;数据库日志正常&#xff0c;load 1-3之间&#xff0c;Session 连接200左右&#xff0c;未发现有负载。于是生成一个ASH报告&#xff0c;感觉比平时要慢很多&am…

STM32 简介

STM32 简介 1. STM32性能2. STM32命名规则3. STM32分类4. 传统嵌入式方向 1. STM32性能 STM32 的优异性体现在如下几个方面&#xff1a; 超低的价格。8 位机的价格&#xff0c;32 位机的性能&#xff0c;是 STM32 最大的优势。超多的外设。STM32 拥有包括&#xff1a;FMC、TIME…

Vue3 ref属性

ref() 接受一个内部值&#xff0c;返回一个响应式的、可更改的 ref 对象&#xff0c;此对象只有一个指向其内部值的属性 .value。 function ref<T>(value: T): Ref<UnwrapRef<T>>interface Ref<T> {value: T } 详细信息 ref 对象是可更改的&#xff…

在C#中使用DeepSeek API实现自然语言处理、文本分类、情感分析等

在C#中使用DeepSeek API可以实现多种功能&#xff0c;例如自然语言处理、文本分类、情感分析等。以下是具体的实现方法和步骤&#xff1a; 准备工作 获取API密钥&#xff1a;访问DeepSeek官网&#xff08;DeepSeek&#xff09;&#xff0c;注册账号并获取API密钥。 安装必要的…