Jenkins安装部署与配置

目录

前言

Jenkins 的主要功能

Jenkins 的工作流程

一. 环境准备

二. 安装JDK

三. 安装Tomcat 

四. 部署Jenkins

五. 浏览器访问

六. 修改超级管理员默认密码

七. 系统配置

八. 安装插件

九. 手动部署插件


前言

Jenkins 是一个开源的自动化服务器,用于持续集成和持续交付/持续部署 (CI/CD)。它支持自动构建、测试和部署软件项目,帮助开发团队快速检测和解决问题,提高开发效率和软件质量。

Jenkins 的主要功能

  1. 持续集成 (CI)

    • 自动化构建和测试代码。
    • 及时发现和修复代码问题,减少集成风险。
  2. 持续交付/持续部署 (CD)

    • 自动将构建好的应用程序部署到测试环境或生产环境。
    • 确保软件可以随时发布,缩短发布周期。
  3. 插件支持

    • Jenkins 有丰富的插件生态系统,可以集成各种工具和平台,如 Git, Maven, Docker, Kubernetes 等。
    • 插件使 Jenkins 可以扩展其功能,以适应不同的需求。
  4. 分布式构建

    • 支持分布式构建,可以通过多台机器来分担构建任务,提高构建速度和效率。
  5. 可视化

    • 提供友好的用户界面,可以直观地查看构建状态、测试结果和部署情况。
    • 支持创建和管理各种类型的作业和流水线。

Jenkins 的工作流程

  1. 代码提交

    • 开发人员将代码提交到版本控制系统(如 Git)。
  2. 触发构建

    • Jenkins 监控版本控制系统的变化,当检测到代码提交时,会自动触发构建。
  3. 构建和测试

    • Jenkins 根据配置的构建脚本,编译代码并运行自动化测试。
  4. 生成构建结果

    • Jenkins 将构建结果(成功或失败)报告给开发人员,并生成构建工件(如可执行文件、Docker 镜像等)。
  5. 部署

    • Jenkins 可以自动将构建好的工件部署到测试环境或生产环境。

一. 环境准备

主机名:jenkins192.168.226.22Rocky_linux9.42核心4G

 关闭防火墙和selinux,进行时间同步。

#修改主机名
[root@localhost ~]# hostnamectl set-hostname jenkins

JDK:  17.0.6

Tomacat: 9.0.91

 Jenkins: 2.452

二. 安装JDK

 Java Archive Downloads - Java SE 17icon-default.png?t=N7T8https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

[root@jenkins ~]# wget https://download.oracle.com/java/17/archive/jdk-17.0.6_linux-x64_bin.rpm
[root@jenkins ~]# yum install -y jdk-17.0.6_linux-x64_bin.rpm

#查看版本信息
[root@jenkins ~]# java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)

yum安装的java默认目录是:/usr/lib/jvm/jdk-17-oracle-x64

三. 安装Tomcat 

Index of /apache/tomcat/tomcat-9/v9.0.91/binicon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.91/bin/

#下载二进制压缩包
[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz

#下载tar工具
[root@jenkins ~]# yum install -y tar

#解压
[root@jenkins ~]# tar -zxvf apache-tomcat-9.0.91.tar.gz -C /usr/local/

#给安装目录改名
[root@jenkins ~]# mv /usr/local/apache-tomcat-9.0.91/ /usr/local/tomcat

#创建 systemd 服务单元文件
[root@jenkins ~]# vim /etc/systemd/system/tomcat.service  #写入下述内容配置
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jdk-17-oracle-x64
Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh

User=root
Group=root
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target



#重新加载 systemd 守护进程
[root@jenkins ~]# systemctl daemon-reload

#启动tomcat
[root@jenkins ~]# systemctl enable --now tomcat

#查看版本信息
[root@jenkins ~]# cat /usr/local/tomcat/RELEASE-NOTES
或
[root@jenkins ~]# /usr/local/tomcat/bin/catalina.sh version

四. 部署Jenkins

Index of /jenkins/war/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /jenkins/war/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。icon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/

[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.452/jenkins.war

#删除tomcat发布目录下的文件
[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*

[root@jenkins webapps]# mkdir /usr/local/tomcat/webapps/ROOT

#下载解压工具
[root@jenkins ~]# yum install -y unzip

#解压
[root@jenkins ~]# unzip -d /usr/local/tomcat/webapps/ROOT/ /root/jenkins.war

[root@jenkins ~]# ls /usr/local/tomcat/webapps/ROOT
META-INF  WEB-INF  apple-touch-icon.png  css  executable  favicon.ico  favicon.svg  help  images  jsbundles  mask-icon.svg  robots.txt  scripts

#下载插件
[root@jenkins ~]# yum install libfreetype.so.6  fontconfig -y

#重启tomcat
[root@localhost ~]# systemctl restart tomcat

#查看Jenkins初始密码
[root@jenkins ~]# tail /usr/local/tomcat/logs/catalina.out
Please use the following password to proceed to installation:

b89ac66e0e584c3d8d898694600c4915

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************



#下载git
[root@jenkins ~]# yum install -y git

五. 浏览器访问

http://192.168.226.22:8080/

  

这里下载需要等待一会

使用默认的这个admin用户,其密码就是初始化的那个长密码字符串。

 

#查看
[root@jenkins ~]# cd .jenkins/
[root@jenkins .jenkins]# ll
total 56
-rw-r-----  1 root root 1658 Jul 11 14:03 config.xml
-rw-r-----  1 root root  156 Jul 11 14:02 hudson.model.UpdateCenter.xml
-rw-r-----  1 root root  370 Jul 11 14:13 hudson.plugins.git.GitTool.xml
-rw-------  1 root root 1680 Jul 11 14:13 identity.key.enc
-rw-r-----  1 root root    5 Jul 11 14:16 jenkins.install.InstallUtil.lastExecVersion
-rw-r-----  1 root root    5 Jul 11 14:16 jenkins.install.UpgradeWizard.state
-rw-r-----  1 root root  184 Jul 11 14:15 jenkins.model.JenkinsLocationConfiguration.xml
-rw-r-----  1 root root  171 Jul 11 14:02 jenkins.telemetry.Correlator.xml
drwxr-x---  2 root root    6 Jul 11 14:02 jobs
drwxr-x---  2 root root   32 Jul 11 14:13 logs
-rw-r-----  1 root root 1037 Jul 11 14:02 nodeMonitors.xml
drwxr-x--- 93 root root 8192 Jul 11 14:13 plugins
-rw-r-----  1 root root   64 Jul 11 14:02 secret.key
-rw-r-----  1 root root    0 Jul 11 14:02 secret.key.not-so-secret
drwx------  2 root root 4096 Jul 11 14:17 secrets
drwxr-x---  2 root root  149 Jul 11 14:13 updates
drwxr-x---  2 root root   24 Jul 11 14:02 userContent
drwxr-x---  3 root root   56 Jul 11 14:02 users

六. 修改超级管理员默认密码

七. 系统配置

 

#查找git路径,这个填在对应的配置信息里
[root@jenkins ~]# which git
/usr/bin/git


 

其中在上图中邮箱配置添加时的内容见下图:

 

上面配置的邮箱是扩展插件邮箱

下面的邮箱是系统邮箱

配置好后点击保存,勾选通过发送测试邮件测试配置,验证邮箱是否正确发送。

配置好后保存退出即可。 

八. 安装插件

 

安装等待即可。

在主机中下载maven

 Index of /apache/maven/maven-3/3.9.8/binaries

[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
[root@jenkins ~]# tar -zxvf apache-maven-3.9.8-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.9.8 /usr/local/maven398

 

九. 手动部署插件

该情况是在jenkins插件商店里没有的情况下,通过找到特定插件去部署。

Jenkins Pluginsicon-default.png?t=N7T8https://plugins.jenkins.io/

在搜索框内搜索指定插件 

上图中是三种下载插件的方式,第一种就是插件商店,但是我们此时的需求,插件商店没有,那么我们就需要使用另外两种下载插件的方式。

图中的方法一是命令工具,jenkins-plugin-cli是一个较新的工具,可能只在Jenkins 2.222及以上版本中提供。该命令不可用的原因还可能是安装方式不同,不在系统的PATH环境变量中。

图中方法二就是通过连接下载部署的方式。下面就是使用这种方式执行。

 

等待安装即可。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 串口数据转网口实现空气风速风向检测

1.窗体搭建 添加time(定时器) 因为需要风速和风向自动刷新 2.进行网口空气检测 ①服务器连接按钮 // 连接按钮private void button1_Click(object sender, EventArgs e){if (button1.Text "连接"){ConnectSocke();// 连接服务器}else{CloseSocket(); // 关闭服务器…

苹果提出RLAIF:轻量级语言模型编写代码

获取本文论文原文PDF,请在公众号【AI论文解读】留言:论文解读 代码生成一直是一个充满挑战的领域。随着大型语言模型(LLM)的出现,我们见证了在自然语言理解和生成方面的显著进步。然而,当涉及到代码生成&a…

XD文件打开神器:这个在线工具你一定要试试!

你有没有遇到过对设计师发来的XD文件没有头绪?不知道XD文件深层含义?如何打开XD文件最省时省力?这篇文章告诉你答案。 https://ad.js.design/online/xd/?sourcecsdn&planxy711 XD文件是什么? 事实上,XD文件就是…

C++入门基础篇(1)

欢迎大家来到海盗猫鸥的博客—— 断更许久,让我们继续好好学习吧! 目录 1.namespace命名空间 命名空间的存在价值: 命名空间的定义: 命名空间的使用: 2.C输入输出函数 使用: 3.缺省参数 4.函数重载…

界面组件Kendo UI for React 2024 Q2亮点 - 生成式AI集成、设计系统增强

随着最新的2024年第二季度发布,Kendo UI for React为应用程序开发设定了标准,包括生成式AI集成、增强的设计系统功能和可访问的数据可视化。新的2024年第二季度版本为应用程序界面提供了人工智能(AI)提示,从设计到代码的生产力增强、可访问性…

linux-5.10.110内核源码分析 - Freescale ls1012a pcie msi中断

1、dts msi控制器描述 1.1、dts描述 msi: msi-controller11572000 {compatible "fsl,ls1012a-msi";reg <0x0 0x1572000 0x0 0x8>;msi-controller;interrupts <0 126 IRQ_TYPE_LEVEL_HIGH>; };ls1012a msi控制器具体介绍可以参考官网手册”25.1.1 PC…

【cocos creator】2.x,伪3d拖拽,45度视角,60度视角,房屋装扮

伪3d拖拽,45度视角,60度视角 工程下载:(待审核) https://download.csdn.net/download/K86338236/89530812 dragItem2.t s import mapCreat2 from "./mapCreat2";const {ccclass, property } = cc._decorator; /*** 拖拽类,挂在要拖拽的节点上*/ @ccclass export…

电影购票小程序论文(设计)开题报告

一、课题的背景和意义 随着互联网技术的不断发展&#xff0c;人们对于购票的需求也越来越高。传统的购票方式存在着排队时间长、购票流程繁琐等问题&#xff0c;而网上购票则能够有效地解决这些问题。电影购票小程序是网上购票的一种新型应用&#xff0c;它能够让用户随时随地…

MacOS可以玩什么游戏 苹果笔记本电脑能打游戏吗 macbook能打什么游戏

长期以来&#xff0c;Mac电脑在游戏方面的局限性一直是用户关注的问题。在最新的 macOS Sonoma 14 系统中&#xff0c;苹果首次引入了全新的 Game mode&#xff08;游戏模式&#xff09;&#xff0c;将 M 系列芯片的超强能力在游戏中进一步释放&#xff01; Mac 不能玩游戏的难…

Fragment(未完结)

什么是Fragment? 1:具备生命周期,小Activity 2:必须委托在activity中才能运行 Fragment初体验 1、创建fragment_blank.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools&qu…

一进四出学生公寓电表功能对比

一进四出学生公寓对比石家庄光大远通电气有限公司产品使用功能&#xff1a;预收费功能&#xff1a;用户应先到学校购电处购电,售电计算机将在十秒钟内自动将数据发送到控电柜各个用电单元,然后系统会给用户供电,当用户剩余电量为零时,系统可自动切断该单元供电,只有当用户重新购…

MYSQL审批流程判断同一层级审批人是否全部通过审批

在做流程审批的时候&#xff0c;通常会出现某一层有多个审批人的情况&#xff0c;这个时候需要所有人都通过才会进入到下一步 数据结构如下图表格所示 每一个审批申请对应一个apply_id serial_no相同的代表是同一层级审批人 approval_status是审核状态 下面我们可以用一个SQL来…

[leetcode]circular-array-loop 环形数组是否存在循环

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool circularArrayLoop(vector<int>& nums) {int n nums.size();auto next [&](int cur) {return ((cur nums[cur]) % n n) % n; // 保证返回值在 [0,n) 中};for (int i 0; i < n; i…

【UE5.1】NPC人工智能——01 准备NPC角色

效果 步骤 1. 之前我们已经创建了“BP_NPC”&#xff08;见&#xff1a;【UE5.1 角色练习】06-角色发射火球-part2&#xff09; 该蓝图继承于角色类 我们在该蓝图中添加了两个方法和两个变量。方法一个是用于修改角色HP值的&#xff0c;另一个是在收到伤害后执行的逻辑。两个…

AIGC爬虫类代码示例:Scrapy和OpenAI API实现抓取内容并生成内容

对于我从事爬虫行业多年的经验来说&#xff0c;编程各种需求代码真是非常吃力且细致的活&#xff0c;随着AI的大火&#xff0c;我在设想有没有可能通过AI自动化程序实现自动抓取生成想要的文本内容。前提我是打算通过结合爬虫技术&#xff08;如Scrapy&#xff09;和生成式AI模…

Affnity 值得购买吗?有Affinity 优惠码?

今年&#xff0c;Affinity 提供了全场 7 折优惠活动&#xff0c;这里包括桌面应用、插件、工作手册等内容&#xff0c;另外针对 iPad 应用提供更为给力的 5 折优惠&#xff01;对于从事图形设计、排版的用户来说&#xff0c;由于 Affinity 的创意设计应用均采用了一次买断制&am…

如何在函数中使用return返回axios的请求结果

使用场景&#xff1a;在添加学生上课记录的时候&#xff0c;需要先获取学生的剩余课时&#xff0c;需要通过接口获取。所以需要封装一个方法&#xff0c;能够通过接口获取学生的课时数量。 解决方案&#xff1a;通过异步解决 封装方法的代码如下&#xff1a; const getStude…

Linux--安装VMware步骤

安装VMware VMware Desktop Hypervisors for Windows, Linux, and Mac 复制链接打开浏览器下载即可 从官网下载软件&#xff0c;完成后为确保后续正常使用&#xff0c;需要检查虚拟网卡是否安装完成 检查虚拟网卡的安装步骤 Windows--设置--高级设置--网络适配器--看是否有显…

浅谈后置处理器组件提取器相关的Apply to

浅谈后置处理器组件提取器相关的Apply to 在Apache JMeter中&#xff0c;“提取器”&#xff08;通常指的是正则表达式提取器、JSON路径提取器或CSS/JQuery提取器等&#xff09;是用来从服务器响应中提取信息的重要组件。这些信息可以是cookies、session IDs、特定的文本或者任…

Nuxt框架中内置组件详解及使用指南(五)

title: Nuxt框架中内置组件详解及使用指南&#xff08;五&#xff09; date: 2024/7/10 updated: 2024/7/10 author: cmdragon excerpt: 摘要&#xff1a;本文详细介绍了Nuxt框架中和组件的使用方法与配置&#xff0c;包括安装、基本用法、属性详解、示例代码以及高级功能如…