vlambda博客
学习文章列表

玩转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

安装完后,验证Java 11是否安装成功。

#java --version
玩转jenkins - 在自己的服务器上安装jenkins

可以看到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

安装完成后,通过命令启动并验证Jenkins的状态

# systemctl start jenkins# systemctl status jenkins
玩转jenkins - 在自己的服务器上安装jenkins

上面的输出显示Jenkins已启动并正在运行。

配置防火墙(可选)

阿里云、腾讯云的云主机就不需要配置了,不过需要在安全策略里打开可访问的端口。

配置防火墙以允许访问Jenkins使用的端口8080。要打开防火墙上的端口,请运行如下命令。

# firewall-cmd --add-port=8080/tcp --permanent# firewall-cmd --reload

在CentOS 8上设置Jenkins

到这一步我们基本上成功啦,不过后面还有一个大坑等着你。

完成初始配置后,就需要在浏览器上设置Jenkins啦。

http://server-IP:8080

先来看下启动界面

玩转jenkins - 在自己的服务器上安装jenkins

当然这里需要密码才能解锁Jenkins,此密码位于文件/var/lib/jenkins/secrets/initialAdminPassword文件中。

通过cat命令打开即可。

# cat /var/lib/jenkins/secrets/initialAdminPassword

第二步,插件安装 "使用建议的插件安装"或"选择要安装的插件"

玩转jenkins - 在自己的服务器上安装jenkins

这一步我选择的是推荐安装。

接下来就进入了漫长的安装过程,让人着急。

玩转jenkins - 在自己的服务器上安装jenkins

手动安装插件

到上一步,我这有点惨,很多插件安装失败,而且时间超级长,后来就直接关了,让他自己去安装了。

理论上,理想的话后续应该是这样的

  • 让你创建管理员账号,总不能每次输入一大串密钥吧
玩转jenkins - 在自己的服务器上安装jenkins
  • 让你重新设置访问地址
玩转jenkins - 在自己的服务器上安装jenkins
  • 最后有惊无险的告诉你,你成功了
玩转jenkins - 在自己的服务器上安装jenkins

然而,我并没有那么顺利,到了第二天,我再去看的时候,插件仍然是安装失败,重试了好多次还是失败,不过安装了一些基础插件后,已经能进入到jenkins后台了。

不过也给出了哪些插件安装失败(下图来源与网络,我的系统已配置完成,当时未留错误图,但是问题一致)

玩转jenkins - 在自己的服务器上安装jenkins

具体安装失败的原因已给出,就是缺少插件,需要补齐安装。

先尝试了在jenkins里搜索来安装,系统管理–>管理插件–>可选插件–>输入插件名–>勾选相应插件–>点击直接安装。但是没有搜索到。

玩转jenkins - 在自己的服务器上安装jenkins

后来只能尝试手动安装,将插件下载下来,然后上传到jenkins安装,这才搞定。

玩转jenkins - 在自己的服务器上安装jenkins
玩转jenkins - 在自己的服务器上安装jenkins

在哪里下载插件呢?

玩转jenkins - 在自己的服务器上安装jenkins

下载下来的插件

玩转jenkins - 在自己的服务器上安装jenkins

然后通过上面的上传通道上传后,jenkins会自动给你安装。

终于等到你

插件安装成功后就可以开心的玩耍啦,不过整体配置时间有点长,本来我也不着急,我也急不来,平时工作太忙,插件安装的慢我都是第二天再看。

看下最终的操作大盘

玩转jenkins - 在自己的服务器上安装jenkins

然后给自己创建了个账号,再也不用一大坨密钥了。

其他

一些可能用到的命令

jenkins启动

#service jenkins start

jenkins重启

#service jenkins restart

也可以通过url后门重启

http://xxx:8080?restart

jenkins停止

#service jenkins stop

最后

整体下来没什么特别大的坑,还是比较顺畅,只是时间较长,不过好饭不怕晚,慢一点没关系。

不过官网上也有基于Docker安装的教程,有兴趣的可以试试。

点个在看支持下