jenkins、gitlab、git、maven整合实现持续集成及自动部署
一、在服务器上安装git、maven、jdk1.8二、安装gitlab,并上传可以打成war包的代码,不知道怎么安装的请参看:centos7安装gitlab三、安装jenkins,安装:Centos7安装Jenkins四、配置jenkins4.1安装插件系统管理-插件管理在可选安装中搜索:所有的安装完成后重新启动 Jenkins。4.2全局配置...
一、在服务器上安装git、maven、jdk1.8
二、安装gitlab,并上传可以打成war包的代码,不知道怎么安装的请参看:centos7安装gitlab
三、安装jenkins,安装:Centos7安装Jenkins
四、配置jenkins
4.1 安装插件
系统管理-插件管理
在可选安装中搜索:
所有的安装完成后重新启动 Jenkins。
4.2 全局配置jdk、git、maven
系统管理-全局工具配置
jdk:
git:
maven:
4.3 配置系统设置
系统管理-系统设置
4.3.1 maven设置(资源库,编译命令参数等设置)
4.3.2 gitlab API-token设置(调用gitlab提供的API时需要传token验证)
连接名称自己取,填入gitlab主机url
此时需要设置凭据
API-token从gitlab获取:
登录gitlab,点击setting:
在jenkins凭据页面填入生成的token。ID可以不填。点击Test Connection 显示 Success则配置成功。
4.3.3 邮件服务器配置
测试邮件配置是否正确:
此时jenkins的基本配置已经完成。
五、构建任务
5.1 gitlab资源库配置
此时需要配置访问gitlab获取代码的账号密码,使用ssh-key的方式来设置。key的生成不做赘述。
gitlab setting中粘入公钥:
私钥粘入jenkins凭据:
如图:
ID不用录入。
5.2 构建触发器
点击高级,生成secret token:
这个token在gitlab填入后用来出发push event。
选择要自动部署的项目:
URL为构建触发器时显示的:
,填入jenkins生成的token。
保存并测试。
5.3 预编译配置
5.4 构建结果邮件通知
5.5 构建后部署tomcat
这里因为我已经配置了tomcat,所以显示的时不可用。
此时需要配置tomcat的用户凭据。
服务器上安装tomcat-8.5.9,安装不做赘述。
vim /usr/local/apache-tomcat-8.5.39/conf/tomcat-users.xml
修改tomcat-users.xml,加入以下内容:
<role rolename="manager-gui" />
<role rolename="manager-status" />
<role rolename="manager-jmx" />
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-status,manager-jmx,manager-script,admin-gui,admin-script"/>
如下图所示:
修改context.xml注释Value标签:
vim /usr/local/apache-tomcat-8.5.39/webapps/manager/META-INF/context.xml
重启tomcat。
六、测试
本地开发往gitlab push代码,或者jenkins首页触发。
查看构建日志:
显示编译、打包、部署成功。
查看服务器上webapps目录:
可以看到war已经自动上传到webapps目录下。
postman测试接口:
至此,整个持续集成流程走完。
七、异常记录
1.
分析:jenkins集成的maven资源库目录默认为:/var/lib/jenkins/.m2/repository。pom中需要的依赖无法下载
解决:上传本地的maven资源到/var/lib/jenkins/.m2/repository中。
2.解决:
cd /var/lib/jenkins
chmod -R 777 *
3.
解决:详见5.5小节修改tomcat-users.xml和context.xml。
更多推荐
所有评论(0)