搭建Jenkins从gitlab获取maven项目持续集成(一)
环境 : centos7
安装Jenkins,这里选择使用service方式安装Jenkins,也可以下载Jenkins.war自己部署到tomcat下。
#添加Jenkins源: $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo $ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key #安装jenkins $ yum install jenkins
启动Jenkins: sudo service jenkins start
查看状态 : service jenkins status
启动成功后,即可在浏览器访问了 http://your server ip:8080
如果访问不了,可能是因为centos防火墙。关闭或者开放端口。
我把端口号修改为了8088
修改端口号:
#打开配置文件,修改端口号 重启服务 $ vi /etc/sysconfig/jenkins $ sudo service jenkins restart
按照提示 安装推荐插件 初始化管理员账户 进入主页面。
安装Jenkins插件时,遇到了一个坑,耗了我两个小时。 页面提示:This Jenkins instance appears to be offline。。 Jenkins处于离线环境,无法获取插件。
开始考虑虚拟机设置问题,但是系统可以联网。最后发现原来是插件网站被GFW墙了。解决方法挂VPN,或者使用国内插件镜像站点。
更新插件更新站点:系统管理 → 插件管理 → 高级 最下面
安装完插件,还需要做一些配置。
系统管理 → Global Tool Configuration 配置JDK GIT MAVEN,路径填写为服务器上的安装路径。
提示 : Jenkins从GitLab上获取源码需要1.9以上版本。需要自己下载新版本编译安装。具体方法谷歌。
Maven的配置这里也遇到了一些问题,花费了很多时间。
Local Maven Repository 这一项选择Default就会使用maven setting,xml中配置的本地仓库(我以为是固定使用~/.m2/repository)
选择其他两项本地仓库在Jenkins安装目录下。
图中红框部分如果项目构建过程中出现 maven Failed to create parent directories for tracking file 无法创建父目录就勾选此项。
配置完上面这些再配置GitLab认证
Jenkins → Credentials → System → Global credentials (unrestricted) → Add Credentials
选择用密钥的方式认证。(试了下用用户名 密码的方式,没有成功)。
生成密钥时,一定选择输入密码,不要选择跳过,上图中的Passphrase填入改密码,为空认证不通过。
ssh-keygen -t rsa -C “your@gmail.com”
生成的公钥加入到GitLab上,私钥填入上图红框位置。
完成上面的所有配置,就可以创建项目并执行构建了。