欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jenkins

程序员文章站 2022-05-04 10:52:42
...

Jenkins和持续集成概念

Jenkins是一个开源的,基于Java开发的持续集成工具。Jenkins的目标在于为全世界提供一种持续集成的思路,虽然在实现上还有很多问题,但是经过二次开发已经使软件的持续集成成为可能。

传统的软件开发流程大致为

  • 无bug时:开发>>>测试>>>运维
  • 有bug时:测试>>>开发或运维>>>开发

而且一般开发会将所有功能全部实现才会将代码交给测试,这就造成了效率的低下,一方面开发不断地改bug,另一方面开发又不断地写bug。

而持续集成则是一种新的思路,理想中的持续集成应用中没有测试和运维的位置,开发会经常将自己的代码集成,然后由集成软件自动化地对其进行编译,测试,发布等操作,这样开发每天都可以及时修改自己代码中的bug,而不用等到开发完毕才能发现bug,最终面临牵一发而动全身的窘境。

但是,目前持续集成还无法落地,对于想要使用持续集成的公司,首先要对对Jenkins进行二次开发。

往大了说持续集成包括三方面的内容,即:

  • 持续集成(Continuous Intergration):简称CI,指的是软件个人开发的部分向软件整体交付,以便尽早发现个人开发部分的问题
  • 持续交付(Continuous Delivery):简称CD,指的是开发尽快向客户交付,以便尽早发现生产环境中存在的问题
  • 持续部署(Continuous Deployment):简称CD,指的是开发的代码尽快向可运行的测试交付,以便尽早测试

Jenkins安装部署

在这个网站可以找到需要的Jenkins版本
http://pkg.jenkins.io/

安装JDK环境
	yum -y install java-1.8.0-openjdk
下载Jenkins软件包
	wget http://pkg.jenkins.io/redhat-stable/jenkins-2.190.2-1.1.noarch.rpm
rpm安装
	rpm -ivh jenkins-2.190.2-1.1.noarch.rpm
启动Jenkins
	systemctl restart jenkins
查看端口
	netstat -anp
	tcp6       0      0 :::8080                 :::*                    LISTEN      7552/java           
打开防火墙端口
	firewall-cmd --add-port=8080/tcp
	firewall-cmd --add-port=8080/tcp --permanent

浏览器访问,显示
Jenkins
卡在这个界面不要急,这又是某防火墙的锅

找到Jenkins的工作目录
	rpm -ql jenkins
		/var/lib/jenkins
修改hudson.model.UpdateCenter.xml 
	把http://updates.jenkins-ci.org/update-center.json
	改成http://mirror.xmission.com/jenkins/updates/update-center.json
重启Jenkins

然后还是不行

修改这个文件(第一次看见这个文件我差点吐了,原因不解释)
vim /var/lib/jenkins/updates/default.json
	把"connectionCheckUrl":"http://www.google.com/"
	改成"connectionCheckUrl":"http://www.baidu.com/"

这回终于成功了
Jenkins

按提示找到管理员密码
	cat /var/lib/jenkins/secrets/initialAdminPassword
	e8301bece32841a0bf89a1c065a418c0
接下来会提示安装插件,一定不要在这里安装,因为网络原因这里可能会下载一年
创建第一个管理员用户并保存
接下来就能开始使用了

Jenkins解决插件安装失败的问题

其实解决这个问题有两种方法,看你想用哪一种

第一种

之所以Jenkins安装插件会失败,是因为默认插件源在国外,我们的网速会非常慢,动不动下载就失败了,但是不要紧,我们只需要更换一个插件源。

具体流程为:

  • 点击Manage Jenkins
  • 点击Manage Plugins
  • 点击Advanced
  • 在Update Site中修改URL为:http://mirror.esuni.jp/jenkins/updates/update-center.json

然后我开始安装语言插件,这里我发现了一个坑。一般在公司使用什么软件都是选择最新版往前推n个版本的稳定版,而我这次是做实验,就选择了Jenkins网站上的最新版,然后我就掉坑里了。

首先下载locale plugin插件并选择下载完重启
重启后进入Manage Jenkins下的Configure System,我们会发现一个locale选项,这个选项之前没有,是安装了locale plugin插件后才出现的,在这里可以设定你想要的语言

查看有何语言可以设置
	locale -a
		zh_CN
		zh_TW

一般我们都会选择简体中文,但是最新版的Jenkins就是不能设置简体中文,如果实在想看简中建议安装jenkins-2.138版本,亲测可以用简中,其他版本不保证,如果觉得可以接受的话就选择繁体中文的吧

记得要给参数:Ignore browser preference and force this language to all users前面打勾,否则语言修改不能生效,然后apply就行了。

第二种

浏览器打开网站:
http://updates.jenkins-ci.org/

选择stable-2.190下的latest,我们会看到一个jenkins.war和很多以.hpi结尾的文件,jenkins.war就是Jenkins的war包,另外那些文件就是此版本Jenkins的插件,如果网速比较好的话,写个脚本把所有插件都下载到/var/lib/jenkins/plugins下并重启Jenkins就可以将所有插件都安装上。

遗憾的是,还是不能用简体中文,也许过几天就会修复这个bug了吧。

相关标签: Jenkins