Jenkins 目前是使用比较多的一个持续集成的开源工具,不管是开发测试部署,还是代码扫描等。很多工作都可以放到Jenkins来进行,最终实现一个完整的流程。开发人员提交代码后,Jenkins上的job就会开始“自动编译打包–>自动部署–>单元测试/代码扫描–>自动测试”。在Jenkins上最基本的就是job了,通过job之间建立关联就可以形成前面的这个过程,并且基本上很少需要人工干预。Jenkins支持各种各样的插件,使得这个平台能够整合很多强大的功能进来,满足用户的需要。
选择用Linux部署Jenkins,是因为不想自己电脑上开太多的东西。选择使用阿里云,是因为2018年双十一年花了99买了一年的服务器还没到期。理由很简单,高兴就好,哈哈!
Jenkins是依赖于Java环境的,所以服务器中需要安装jdk。阿里云默认是没有安装Java环境的,所以需要自己安装。
官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
选择合适的Java版本(1.8及以上)进行下载,这边选择jdk-8u201-linux-x64.rpm版本包。
下载好rpm包后,通过xftp6上传到阿里云上,路径为:/opt
使用root用户,rpm -ivh jdk-8u201-linux-x64.rpm 命令进行安装。
安装好后,通过java -version,验证jdk是否安装成功。
如上图所示,则jdk已经安装成功。记得是1.8版本开始,安装过程中自动将java添加到环境变量中的。
Jenkins有两种常用的部署方式:
第一种,直接把war包放到servlet容器中,如tomact,把war包放到它的webapps目录里就可以了,直接启动tomcat即可;
第二种,使用命令直接运行war包,这种情况包括java -jar jenkins.war启动和通过rpm自动安装jenkins(service命令启动)。rpm自动安装Jenkins后,是通过配置文件记录启动参数的;而通过java命令启动,则需要在命令后带上启动参数。
通过对比,使用rpm自动安装Jenkins更为简单方便,所以使用这种方式。
Jenkins 下载地址:https://pkg.jenkins.io/redhat-stable/
这里选择最新的稳定版本jenkins-2.150.3-1.1.noarch.rpm,浏览器下载速度挺慢的,推荐使用下载工具下载。下载完成后,还是通过xftp6上传到/opt路径下。
使用root用户,rpm -ivh jenkins-2.150.3-1.1.noarch.rpm 命令进行安装。
jenkins服务常用命令:
service jenkins start #启动jenkins服务
service jenkins stop #停止jenkins服务
service jenkins restart #重启jenkins服务,常用于修改配置文件后
如上图所示,Jenkins已经安装成功。
Jenkins自动安装后,各文件默认位置,如下:
/usr/lib/jenkins/jenkins.war #war包
/etc/sysconfig/jenkins #配置文件
/var/lib/jenkins/ #默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log #Jenkins日志文件
2.2.1、修改/etc/sysconfig/jenkins配置文件中的参数
vi /etc/sysconfig/jenkins # 进入jenkins文件,i进入编辑模式,Esc退出编辑模式,shift+:进入底行模式输入wq保存并退出。
JENKINS_USER="root" #默认的用户是”jenkins“,在部署项目时需要调整涉及到的文件和目录的操作权限,需要使用root用户
JENKINS_PORT="8081" #默认端口8080,如果遇到端口冲突,可以修改
2.2.2、添加安全组
阿里云配置安全组规则,开通8081端口,否则不能远程访问。配置如下图所示:
2.2.3、hudson.model.UpdateCenter.xml文件url地址修改
首先启动jenkins服务,ip为服务器地址,port为配置文件中指定的端口。
service jenkins start
其次,浏览器中输入http://ip:port/,回车后会较长时间卡在启动界面。这是因为需要联网获取插件更新文件,但是由于网络的原因可能会比较慢。那个文件也就1M左右的样子,主要是服务器在国外所以下载的比较慢。由于同样的原因,下载插件也经常容易失败,所以需要修改hudson.model.UpdateCenter.xml文件中的url配置。
文件路径:/var/lib/jenkins/hudson.model.UpdateCenter.xml
原url: https://updates.jenkins.io/update-center.json
新url:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
通过vi命令修改,修改后的内容,如下图所示。
每次修改文件后都需要重启jenkins服务,这样修改才能生效。
首次服务器部署好启动以后,通过浏览器访问http://ip:port/,需要进行解锁Jenkins以及插件配置。浏览器输入访问的地址,提示需要解锁Jenkins,才能进行Jenkins的设置。如下图所示。
如上图所示,解锁Jenkins需要输入管理员密码,该密码已经自动生成,在/var/lib/jenkins/secrets/initialAdminPassword文件中。在"Administrator password"下面的文本输入框中,输入该文件中的密码。验证通过后,会进入到插件安装选择页面,如下图所示。
如上图所示,推荐选择"Install suggested plugins"选项,会自动安装Jenkins推荐的插件。点击"Install suggested plugins"后,会进入到插件安装页面,如下图所示。
安装推荐插件需要一点点时间等待,请耐心!!!安装完成后,会进入到创建第一个管理员用户页面,如下图所示。
如上图所示,输入创建管理员账号需要的信息。信息输入完成后,点击"Save and Continue"按钮,会保存信息,进入到程序配置确认页面。如下图所示。
如上图所示,Jenkins URL后面的url地址,会自动显示服务器ip地址和配置文件中指定的端口,所以无需更改。点击"Save and Finish"按钮,进入到配置完成页面,如下图所示。
如上图所示,提示Jenkins已经配置完成,点击"Start using Jenkins"按钮,进入到下个页面,如下图所示。
咦。。。怎么是白屏呢,哈哈!这不是配置的问题,需要重启下jenkins服务,然后重新在浏览器输入http://ip:port/。回车后,首先会进入到启动准备页面,每次重启都会如此,提示“jenkins正在准备工作,请稍后”,如下图所示。
稍等片刻后,然后再进入到登录页面,如下所示。
如上图,输入前面创建的管理员用户和密码,勾选"Keep me signed in"前面的勾选框,点击"Sign in"按钮,登录进入到jenkins首页,如下图所示。
这样在阿里云上Jenkins就部署好了。
参考:
1、https://blog.csdn.net/liaoguolingxian/article/details/62057869
2、https://blog.csdn.net/andyzhaojianhui/article/details/73472500
3、《Robot Framework自动化测试修炼宝典》-------------------- 齐涛