玩转jenkins - 在自己的服务器上安装jenkins
Posted 前端技术江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转jenkins - 在自己的服务器上安装jenkins相关的知识,希望对你有一定的参考价值。
做前端也好几年了,项目的CI/CD一直用的都是公司现有的jenkins平台,再不就是基于jenkins进行了特殊定制化的平台,当然还有其他的一些CI/CD工具,比如gitlab,但是在我看来jenkins更纯粹,专注做CI/CD,而且更成熟,社区活跃且非常强大,目前已有超过1000个插件来支持构建、部署、自动化,另外更重要的是官网的标语深深吸引了我。所以打算在自己的服务器上玩玩,同时也会把相关的一些进度和结果分享到这里,希望未来可以在工作上用到。
ps:我的服务器:CentOs8 Linux
计划了几个想要达到的目标
-
在自己的机器上跑起来 done
-
使用jenkins将码云上的git仓库拉到服务器 -
将代码拉到服务器后,可以手动触发构建、部署 -
完成自动化部署 -
开发一个自己的插件,具体做啥还没想好 -
待定...
首先需要安装java环境
Jenkins是用Java编写的免费开放源代码持续集成工具,所以我们首先需要安装java环境。
安装Java运行时环境(JRE)或者Java开发工具包(JDK)都可以,这里我安装的是java11,全程安装很快。
执行下面命令
# dnf install java-11-openjdk-devel
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/7b4e5d673d8b49d88f18a7371a33bfc0.jpg)
安装完后,验证Java 11是否安装成功。
#java --version
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/2cc9cc346a254e95854f68d985ce36b8.jpg)
可以看到java已安装成功。
在CentOS 8上添加Jenkins存储库
由于Jenkins在CentOS 8存储库中不可用,因此我们将手动将Jenkins存储库添加到系统中。
首先添加Jenkins Key
#rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
将Jenkins的存储库追加到CentOS 8
#cd /etc/yum.repos.d
#curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo
截图略,基本没什么阻碍。
安装Jenkins
成功添加Jenkins存储库后,才能安装Jenkin
//执行以下命令
# dnf install jenkins
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/27c8f3dacb304a71b4834a1f325b34ae.jpg)
安装完成后,通过命令启动并验证Jenkins的状态
# systemctl start jenkins
# systemctl status jenkins
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/9d167c5628ef49aeb10c76e696715fc8.jpg)
上面的输出显示Jenkins已启动并正在运行。
配置防火墙(可选)
阿里云、腾讯云的云主机就不需要配置了,不过需要在安全策略里打开可访问的端口。
配置防火墙以允许访问Jenkins使用的端口8080。要打开防火墙上的端口,请运行如下命令。
# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --reload
在CentOS 8上设置Jenkins
到这一步我们基本上成功啦,不过后面还有一个大坑等着你。
完成初始配置后,就需要在浏览器上设置Jenkins啦。
http://server-IP:8080
先来看下启动界面
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/53f7ec50c0df4aebaf14fd2348104ff4.jpg)
当然这里需要密码才能解锁Jenkins,此密码位于文件/var/lib/jenkins/secrets/initialAdminPassword文件中。
通过cat命令打开即可。
# cat /var/lib/jenkins/secrets/initialAdminPassword
第二步,插件安装 "使用建议的插件安装"或"选择要安装的插件"
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/b67ece2fac9a480e85f2f6ec968b2786.jpg)
这一步我选择的是推荐安装。
接下来就进入了漫长的安装过程,让人着急。
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/549995b0cf614af7b3743541025e29a7.jpg)
手动安装插件
到上一步,我这有点惨,很多插件安装失败,而且时间超级长,后来就直接关了,让他自己去安装了。
理论上,理想的话后续应该是这样的
-
让你创建管理员账号,总不能每次输入一大串密钥吧
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/7e325c955c7e4349ada4149e3c1a38b9.jpg)
-
让你重新设置访问地址
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/4ab6ceb2581449289a1e14bf995a1e4f.jpg)
-
最后有惊无险的告诉你,你成功了
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/2e904505ee924465a7c4655f208f3a83.jpg)
然而,我并没有那么顺利,到了第二天,我再去看的时候,插件仍然是安装失败,重试了好多次还是失败,不过安装了一些基础插件后,已经能进入到jenkins后台了。
不过也给出了哪些插件安装失败(下图来源与网络,我的系统已配置完成,当时未留错误图,但是问题一致)
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/102a45a9319b4c24a995c7b78ae0e17b.jpg)
具体安装失败的原因已给出,就是缺少插件,需要补齐安装。
先尝试了在jenkins里搜索来安装,系统管理–>管理插件–>可选插件–>输入插件名–>勾选相应插件–>点击直接安装。但是没有搜索到。
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/e303455c5afd470d9bb2b31ce37574bd.jpg)
后来只能尝试手动安装,将插件下载下来,然后上传到jenkins安装,这才搞定。
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/8c2b8cef11b64461a1e0b5f7ad187512.jpg)
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/22b9f9bf3465445e85f435fa9e2a610b.jpg)
在哪里下载插件呢?
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/841a53d96a134098a5d53313ae166088.jpg)
下载下来的插件
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/bc22f418016d4cbdae32f29fda0ad335.jpg)
然后通过上面的上传通道上传后,jenkins会自动给你安装。
终于等到你
插件安装成功后就可以开心的玩耍啦,不过整体配置时间有点长,本来我也不着急,我也急不来,平时工作太忙,插件安装的慢我都是第二天再看。
看下最终的操作大盘
![玩转jenkins - 在自己的服务器上安装jenkins](https://image.cha138.com/20210407/b38adfb3c4a541e5a46957a1fa02adc6.jpg)
然后给自己创建了个账号,再也不用一大坨密钥了。
其他
一些可能用到的命令
jenkins启动
#service jenkins start
jenkins重启
#service jenkins restart
也可以通过url后门重启
http://xxx:8080?restart
jenkins停止
#service jenkins stop
最后
整体下来没什么特别大的坑,还是比较顺畅,只是时间较长,不过好饭不怕晚,慢一点没关系。
不过官网上也有基于Docker安装的教程,有兴趣的可以试试。
点个在看支持下
以上是关于玩转jenkins - 在自己的服务器上安装jenkins的主要内容,如果未能解决你的问题,请参考以下文章