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

荒Huang 2024-09-13 14:07:02 阅读 99

目录

简介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)工具,用于自动化软件开发中的构建、测试和部署过程。它可以帮助开发团队自动化构建、测试和部署他们的软件项目,从而加快开发周期并提高软件质量。

特点

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

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

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

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

通知与报告: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

<code>#!/bin/bash

## war包名称

JAR_NAME="jenkins.war"code>

## 查找是否有运行的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" 这一截code>

nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins" > $LOG_PATH 2>&1 &code>

## 查看启动后的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 &code>

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相关文件

<code>find / -name "jenkins*"

2.删除找到的Jenkins文件

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

<code>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博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。