Linux环境搭建Jenkins(详细图文)

news2024/12/28 20:44:30

目录

简介Jenkins

特点

一、环境准备

1.jdk环境准备

2.maven环境准备

3.git环境准备

 二、安装部署Jenkins(采用war包方式)

1.下载Jenkins

​2.启动war包

1)将下载好的Jenkins的war包上传到服务器上

2)编辑启动脚本,方便

3)启动Jenkins的war

3.浏览器访问

4.插件安装

 5.创建管理员账号

6.登录Jenkins

三、卸载Jenkins

1.找到所有的Jenkins相关文件

2.删除找到的Jenkins文件

四、遇到的问题

问题描述:插件下载不下。报错如下图所示:

解决方法:手动下载插件更新


简介Jenkins

Jenkins 是一个流行的开源持续集成(CI)和持续交付(CD)工具,用于自动化软件开发中的构建、测试和部署过程。它可以帮助开发团队自动化构建、测试和部署他们的软件项目,从而加快开发周期并提高软件质量。

特点

  1. 持续集成:Jenkins 支持持续集成实践,可以在代码提交后自动触发构建和测试,确保团队成员的代码可以及时集成并检测潜在问题。

  2. 插件生态系统:Jenkins 拥有丰富的插件生态系统,可以轻松扩展其功能,满足各种不同项目的需求。

  3. 可视化构建流程:Jenkins 提供了直观的用户界面,可以帮助用户创建和管理复杂的构建流程,监控构建状态并查看构建日志。

  4. 分布式构建:Jenkins 支持分布式构建,可以将任务分配给多台计算机来加速构建过程。

  5. 通知与报告:Jenkins 可以通过各种渠道发送构建结果通知,同时提供详尽的构建报告和趋势分析。

一、环境准备

在部署Jenkins之前先在Linux的环境上安装部署以下环境。

1.jdk环境准备

java -version

若没有安装jdk,可以参考这篇博客安装:Linux环境下离线安装jdk1.8(内置最新的jdk安装包x64)_jdk1.8 linux 下载-CSDN博客

注意:如果你是jdk1.8版本,后续在下载Jenkins时,需要对应的版本。

2.maven环境准备

mvn -v

若没有安装maven,可以参考这篇博客安装:Linux环境安装Maven(详细图文)-CSDN博客

注意:如果你是jdk1.8版本,在下载maven时,需下载对应的版本。

3.git环境准备

git --version

 若没有安装git,可以参考这篇博客安装:Linux环境安装Git(图文详细)-CSDN博客

 二、安装部署Jenkins(采用war包方式)

1.下载Jenkins

官方下载地址:https://www.jenkins.io/zh/download/
各个版本Jenkins的war包下载地址(对应Jenkins需要的jdk版本):https://mirrors.jenkins.io/war-stable/
一般选择稳定版,由于目前使用的是jdk8环境,所以只能选择2.346及其以下版本的。选择2.346.1版本。

也可参考官网提供的Jenkins的方式进行安装部署Jenkins。

 下载Jenkins的war包

​ 2.启动war包

1)将下载好的Jenkins的war包上传到服务器上

作者是将Jenkins的war包放在/data/jenkins目录下。

2)编辑启动脚本,方便

在/data/jenkins/同目录下,编辑启动脚本

vim start.sh

#!/bin/bash

## war包名称
JAR_NAME="jenkins.war"

## 查找是否有运行的jenkins.war 返回pid
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`

## 输出的日志位置 如果报文件不存在,就在jenkins目录下touch nohup.out,就ok了
LOG_PATH=/data/jenkins/nohup.out

## 如果pid不存在,说明没有正在运行的jenkins.war,直接启动
if [ -z $pid ]; then
        ## 台运行 jenkins.war --httpPort指定端口8080 ,如果端口被占用了,可指定其他端口
        ## 因为我使用了nginx代理端口,所以使用 --prefix 指定了请求前缀为/jenkins 这个需要在nginx中配置相同前缀/jenkins,就可以外网访问jenkins了
        ## 如果没有使用反向代理,就不需要添加 --prefix="/jenkins" 这一截
    nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins"  > $LOG_PATH 2>&1 &
    ## 查看启动后的pid
    pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
    echo "Service ${JAR_NAME} is started!pid=${pid}"
    ## 动态查看启动日志
    tail -f ${LOG_PATH}
## 如果pid存在,说明有正在运行的jenkins.war,需要先杀掉这个进程,再重新启动jenkins.war
else
        ## 杀掉已有进程
    kill -9 $pid
    ## 重新运行jenkins.war
    nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins"  > $LOG_PATH 2>&1 &
    echo "Service ${JAR_NAME} is restarted!pid=${pid}"
    tail -f ${LOG_PATH}
fi

 保存并退出。

设置脚本权限

chmod +x start.sh

3)启动Jenkins的war

./start.sh

3.浏览器访问

在浏览器中输入:ip+端口/jenkins 加Jenkins的后缀目的是为了方便统一管理。

输入密码之后,进行下一步。

4.插件安装

插件安装:可以安装推荐的,也可以自定义安装选择git对应的几个插件(Deploy to container Plugin、Git Parameter Plug-In、Git plugin、GIT server Plugin、GitHub Authentication plugin、GitHub API Plugin、GitHub Organization Folder Plugin、GitHub plugin等),以及Maven Integration。推荐安装的话,等待Jenkins安装完成,如果有安装不上的插件,暂时不管,后面也是我遇到的问题,按照后续思路解决即可。

 5.创建管理员账号

可以直接使用admin账号快速注册或者你可以自定义一个管理员用户,自己记住。

 安装完成,开始使用。

6.登录Jenkins

输入账号密码进行登录。

Jenkins的首页如下图所示,如果你不喜欢英文版的Jenkins,可以在Manage Jenkins插件管理中下载中文插件。

三、卸载Jenkins

1.找到所有的Jenkins相关文件

find / -name "jenkins*"

2.删除找到的Jenkins文件

从目录来看,基本上所有的Jenkins相关文件都在/root/.jenkins/ 目录所以直接删除这个目录即可。

rm -rf /root/.jenkins

四、遇到的问题

问题描述:插件下载不下。报错如下图所示:

在网上找了许多解决方法,说网络不行更换插件下载镜像源,(直接用清华镜像源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/),试过之后,仍然是一样的问题。

解决方法:手动下载插件更新

插件下载地址:Index of /download/plugins

根据你的报错信息搜索插件:比如我的有Mina SSHD API :: Core报错,就在如下界面搜索

注意:作者在直接下载mina-sshd-api-core时不成功,需要先下载mina-sshd-api-common,再下载需要的。

进入下载不是最新版本的插件。如下图所示:

下载之后如下:

在Jenkins的Manage Jenkins界面找到Manage Plugins进入

 

下滑找到如图所示:

如果安装过程中遇到如下图所示:有很多错,需要从上错误的插件依次下载,可以点击详情查看,然后根据插件地址 下载符合我们Jenkins版本即可。

 重新上传对应下载的插件,即可安装成功。

等待安装完成,注意勾选重启Jenkins使插件生效。之后再去插件管理搜索我们的插件,可以看见已经安装成功了。

到此这个问题就解决了,如果你报错的插件比较多,再这里你就按照上述步骤进行一个一个的插件下载,就是费时间需要耐心,但是这种方式100%成功。

参考博客:

Jenkins安装插件失败问题解决方案(必定有效)_this version of the plugin exists but it is not be-CSDN博客

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

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

相关文章

Go语言的100个错误使用场景(48-54)|错误管理

前言 大家好,这里是白泽。**《Go语言的100个错误以及如何避免》**是最近朋友推荐我阅读的书籍,我初步浏览之后,大为惊喜。就像这书中第一章的标题说到的:“Go: Simple to learn but hard to master”,整本书通过分析1…

SpringBoot项目如何打包成docker镜像?

将Spring Boot项目打包成Docker镜像的过程可以分为以下几个步骤: 1. 创建Dockerfile 首先,你需要在Spring Boot项目的根目录下创建一个Dockerfile。这个文件包含了Docker镜像构建的所有指令。一个基本的Dockerfile可能看起来像这样: # 使用…

flink sql 实战实例 及延伸问题:聚合/数据倾斜/DAU/Hive流批一体 等

flink sql 实战实例 及延伸问题 Flink SQL 计算用户分布Flink SQL 计算 DAU多topic 数据更新mysql topic接入mysql引入 upsert-kafka-connector 以1.14.4版本为例 数据倾斜问题:让你使用用户心跳日志(20s 上报一次)计算同时在线用户、DAU 指标…

Github代码仓库SSH配置流程

作者: Herman Ye Auromix 测试环境: Ubuntu20.04 更新日期: 2024/02/21 注1: Auromix 是一个机器人爱好者开源组织。 注2: 由于笔者水平有限,以下内容可能存在事实性错误。 相关背景 在为Github代码仓库配…

秦岭天台山隧道群荣获交通运输部科技示范工程,恒星科通群载波应急广播与无线调度系统产品应用其中

2023年9月12日,全国交通运输科技示范工程现场推进会在河南省平顶山市召开,会上为全国已通过验收的10项科技示范工程进行了授牌,其中由陕西交控集团负责实施的“秦岭天台山超长隧道群安全绿色科技示范工程”名列其中。 该科技示范工程为陕西省…

2024牛客寒假算法基础集训营4(视频讲解题目)

2024牛客寒假算法基础集训营4&#xff08;视频讲解题目&#xff09; 视频链接ABCDEFG、H&#xff08;下面是hard版本的代码两个都可以过&#xff09; 视频链接 2024牛客寒假算法基础集训营4&#xff08;视频讲解题目&#xff09; A #include<bits/stdc.h> #define en…

为全志D1开发板移植LVGL日历控件和显示天气

利用TCP封装HTTP包请求天气信息 Linux还真是逐步熟悉中&#xff0c;现在才了解到Linux即没有原生的GUI&#xff0c;也没有应用层协议栈&#xff0c;所以要实现HTTP应用&#xff0c;必须利用TCP然后自己封装HTTP数据包。本篇即记录封装HTTP数据包&#xff0c;到心知天气请求天气…

亿道丨三防平板电脑厂家丨三防平板PDA丨三防工业平板:数字时代

在当今数字化时代&#xff0c;我们身边的世界变得越来越依赖于智能设备和无线连接。其中&#xff0c;三防平板PDA&#xff08;Personal Digital Assistant&#xff09;作为一种功能强大且耐用的数字工具&#xff0c;正在引领我们进入数字世界的全新征程。 三防平板PDA结合了平板…

在Win系统部署WampServer并实现公网访问本地服务【内网穿透】

目录 推荐 前言 1.WampServer下载安装 2.WampServer启动 3.安装cpolar内网穿透 3.1 注册账号 3.2 下载cpolar客户端 3.3 登录cpolar web ui管理界面 3.4 创建公网地址 4.固定公网地址访问 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0…

【Pytorch深度学习开发实践学习】B站刘二大人课程笔记整理lecture02 线性模型

课程网址 Pytorch深度学习实践 部分课件内容&#xff1a; 代码部分如下&#xff1a; import numpy as np import matplotlib.pyplot as pltx_data [1.0,2.0,3.0] y_data [2.0,4.0,6.0]def forward(x):return x * wdef loss(x,y):y_pred forward(x)return (y_pred - y) ** …

vue实现列表自动无缝滚动列表

大家好&#xff0c;今天给大家分享的知识是vue基于vue-seamless-scroll实现自动无缝滚动列表 一、实现自动滚动 最近在开发过程中遇到一个问题&#xff0c;就是需要实现自动滚动列表&#xff0c;效果图如下 就是这样一个列表在自动循环展示。在这里我是运用的 vue-seamless-sc…

Springboot AOP开发

Springboot AOP开发 一 AOP概述 AOP&#xff0c;即面向切面编程&#xff0c;简言之&#xff0c;面向方法编程。 针对方法&#xff0c;在方法的执行前或执行后使用&#xff0c;用于增强方法&#xff0c;或拓展。 二 AOP开发 1.引入 spring-boot-starter-aop 在SpringBoot项…

计算机视觉基础【OpenCV轻松入门】:获取图像的ROI

OpenCV的基础是处理图像&#xff0c;而图像的基础是矩阵。 因此&#xff0c;如何使用好矩阵是非常关键的。 下面我们通过一个具体的实例来展示如何通过Python和OpenCV对矩阵进行操作&#xff0c;从而更好地实现对图像的处理。 ROI&#xff08;Region of Interest&#xff09;是…

十三、集合进阶——单列集合 及 数据结构

单列集合 及 数据结构 13.1 集合体系结构13.1.2 单列集合1. Collection2.Collection 的遍历方式迭代器遍历增强for遍历Lambda表达式遍历 3.List集合List集合的特有方法List集合的遍历方式五种遍历方式对比 4.数据结构1).栈2).队列3&#xff09;数组4&#xff09;链表小结5&…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson 15 At the Department Store 在百货商店

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 15 At the Department Store 在百货商店会话A会话B笔记 Lesson 15 At the Department Store 在百货商店 会话A A: Can you help me, please? B: Sur…

世强硬创与SMT激光模板制造商光盛激光达成平台合作

近日&#xff0c;世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称“世强先进”&#xff09;与一家专注生产研发电子工业用工模具的企业——东莞光盛激光科技有限公司&#xff08;下称“光盛激光”&#xff09;达成平台合作。 据了解&#xff0c;光盛激光…

Facebook与数字创新:引领社交媒体的数字化革命

在当今数字化时代&#xff0c;社交媒体已经成为了人们日常生活中不可或缺的一部分。而在众多社交媒体平台中&#xff0c;Facebook作为领头羊&#xff0c;一直致力于推动数字创新&#xff0c;引领着社交媒体的数字化革命。本文将探讨Facebook在数字创新方面的表现&#xff0c;以…

绝地求生:图纸的加量不加价是否预示着蓝洞经营模式的转变

成长型武器目前作为PUBG中除了究极异色皮肤外的最高等级武器&#xff08;传说级&#xff09;&#xff0c;也是PUBG核心利润来源&#xff0c;十分的珍贵。 一把成长型武器的保底价格为3000碎片&#xff0c;而每次通过G-coin抽取会赠送10个碎片&#xff0c;也就是需要抽取三百次&…

外汇交易解决方案丨实时选取外汇行情多价源最优价

在外汇交易中&#xff0c;存在多个价源。多个价源之间&#xff0c;同一时刻的报价可能存在差异。在多个价源之间&#xff0c;实时选取最优价格具有重要意义&#xff0c;它有助于投资者获得更有利的交易执行价&#xff0c;降低交易成本&#xff0c;优化流动性&#xff0c;分散交…

中科大计网学习记录笔记(十四):多路复用与解复用 | 无连接传输:UDP

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…