Linux上安装Jenkins踩坑记录

736 阅读3分钟

Jenkins安装文档参考:

www.jenkins.io/doc/book/in…

segmentfault.com/a/119000003…

但在执行yum install jenkins时,报错如下: image.png

在网上找到这篇文档:

blog.csdn.net/lisongyue12…

里面说注释掉/etc/yum.repos.d/CentOS-Base.repo,CentOS-AppStream.repo,CentOS-Extras.repo这三个文件的mirrorlist,并把baseurl修改为阿里源。

改完以后,重新制作元数据缓存,又报错:

image.png

并确认了IP是通的。

又看到一篇说把镜像源设置为 https://developer.aliyun.com/mirror/centos,重新yum makecache还是同样的报错:

image.png

又看到这篇 blog.csdn.net/nyist_zxp/a… 修改 /etc/sysconfig/network-scripts/ifcfg-ens33 文件中的 ONBOOT 和 BOOTPROTO,

image.png

结果还是一样的。

再有看到这篇 developer.aliyun.com/mirror/cent… 说CentOS8系统的镜像已不再维护,于是迁移到了centos-vault源:

image.png

迁移之后会发现CentOS-BaseOS.repo文件和原先CentOS8时候的很不一样,里面的baseUrl都成了新的。

然后再次执行yum makecache,又报如下错: image.png

很容易想到,刚只是修改了CentOS-BaseOS.repo文件,但没有改CentOS-AppStream.repo,因此又看到这篇:www.cnblogs.com/bpzblog/p/1…

image.png

再次执行yum makecache时,成功了

image.png

此时再执行yum install jenkins就没问题了 image.png

软件包下载中 image.png

安装完毕,安装的是jenkins-2.319.3版本。 image.png

接着按照 segmentfault.com/a/119000003… 的建议,编辑/etc/sysconfig/jenkins文件, 修改了Jenkins的默认启动用户和默认端口号:

默认用户由jenkins改成了root

image.png

默认端口由8080改成了7989

image.png

执行systemctl enable jenkins 失败

image.png

执行下面三个命令也接连失败

image.png

找到这篇:stackoverflow.com/questions/3… ,意思是需要在 /etc/init.d/jenkins 文件中要指定jdk的bin路径

查看jdk路径:

image.png

我把我机子上的jdk路径加了进去

image.png

执行 sudo systemctl start jenkins 还是不行: image.png

执行 sudo systemctl status jenkins 查看:

image.png

这是因为我刚在改/etc/init.d/jenkins文件时,只配置到bin目录,而没有指定到java执行文件,所以修改下:

image.png

再次执行sudo systemctl start jenkins ,提示让执行 systemctl daemon-reload 重新加载unitsimage.png

之后再启动jenkins,没有任何输出信息,再查看jenkins状态,OK了。 image.png

image.png

用主机ip和刚在 /etc/sysconfig/jenkins 文件改的默认端口号,在浏览器就能访问到了!!

image.png

管理员密码保存在 /var/lib/jenkins/secrets/initialAdminPassword

image.png

在Jenkins上安装gitlab插件时报错:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

image.png

找到这篇 blog.csdn.net/skybboy/art… 在全局替换default.json中的原始updates.jenkins那个url时,和作者的不太一样,根据自己的实际情况来:

sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

按照上文的方法,问题解决了 image.png

在过程中发现JUnit,Matrix Project,Pipeline Job, GitLab这几个插件安装失败 image.png

image.png

在Manage Jenkins首页也能看到报错信息: image.png

从提示信息看是Jenkins的版本低了,我前面装的是2.319版本,报错说需要2.321及以上。

在这篇文章 www.cnblogs.com/nickchou/p/… 提供的镜像网站上下载目前的最新版本2.335

image.png

我试了从清华镜像站点下载然后手动把jenkins.war文件上传到jenkins安装目录/usr/lib/jenkins下,然后再次启动jenkins,再次安装gitlab插件时依然报需要更高版本的jenkins这个错。

image.png

后来在Manage Jenkins首页看到提示最新版本是2.335,可以Download(我刚已经试过手动上传并没有升级成功),也可以自动升级,于是我点了“自动升级”,如下图:

image.png 等升级完成后等待重启:

image.png 重启完成后,升级成功。 image.png

jenkins和gitlab的配合参考这篇 juejin.cn/post/688590…

在配置pipeline的过程中,还需要配置Jenkins全局工具:Manage Jenkins -> Global Tool Configuration

JDK和Git的配置 image.png

Nodejs的配置(需要安装nodejs插件) image.png

nodejs的安装参考这篇 learnku.com/articles/32… 因为node-sass的安装需要python,pyhon2的安装参考这篇 blog.csdn.net/singebogo/a…