简介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
#!/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博客
版权归原作者 荒Huang 所有, 如有侵权,请联系我们删除。