首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gerrit触发jenkins执行脚本自动构建rpm包

gerrit触发jenkins执行脚本自动构建rpm包

作者头像
后端云
发布2018-10-24 11:29:36
2.9K1
发布2018-10-24 11:29:36
举报
文章被收录于专栏:后端云后端云

持续集成包括很多,自动编译,自动打包,自动部署,自动测试。本文只涉及一部分,本文讲的是利用gerrit工具和jenkins工具在开发代码被review通过后merge到主干的时候触发rpm自动构建脚本,自动生成rpm包的过程。

搭建jenkins环境,gerrit环境

安装jenkins的gerrit trigger插件并配置gerrit信息

测试连接gerrit正常

配置jenkins任务 配置构建触发器,选择gerrit event

配置gerrit trriger(配置git项目库,分支,merger触发)

编写模块的rpm build脚本,并将脚本内容填入构建执行脚本文本框中

如guardian模块的打包脚本

[root@promote ttt]# cat guardian_build_script.sh 
rm -rf ./guardian
git clone ssh://hanwei@gerrit.cmss.com:29418/EC_Openstack/guardian
cd guardian
git checkout kilo_dev
python setup.py sdist
rm -rf /root/build/*
mkdir -p /root/build/SOURCES
cp dist/guardian*.tar.gz guardian.conf guardian.logrotate guardian.service snmp_msg /root/build/SOURCES
rpmbuild --bb  guardian.spec
ls -lh /root/build/RPMS/noarch/*.rpm

修改代码,git提交commit,提交至gerrit review

gerrit review +2 后merge后,触发jenkins进行任务构建(执行该模块的rpm build脚本)

可以看到第5次构建是由gerrit triger触发进行的。

并完成打包rpm,jenkins的console output输出脚本执行打印的信息。

jenkins在执行打包脚本可能需要root权限,默认是jenkins用户执行的。通过以下操作给jenkins用户增加root权限执行脚本。

1.将jenkins账号分别加入到root组中

gpasswd -a root jenkins

2.修改/etc/sysconfig/jenkins文件中,

# user id to be invoked as (otherwise will run as root; not wise!)
JENKINS_USER=root
JENKINS_GROUP=root

可以修改为root权限运行

3.重启Jenkins
service Jenkins restart
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后端云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档