了解jenkins可以实现自动拉取代码并编译打包的过程,我来个简单的模拟一下自动触发拉取git上的源代码的过程。献丑了:-D
1.新建一个job
jenkins首页--新建,构建一个自由风格的软件项目,起名testecho。
job建议命令规范:构建环境+项目标志+具体目的
example:test_mattress1.0_compileandpack
2.设置源码访问地址和分支
必要设置:
(1)Repository URL选择自己的git项目的地址
(2)选择Credentials--Add,添加jenkins的访问用户名和密码信息
(3)选择所要涉及的git源代码分支
3.设置构建的触发条件
Build periodically:定时构建。工作中更多以这种方式设置构建任务。
Poll SCM:根据监听源代码的版本变化来触发构建,这里" */5 * * * * "代表每5分钟检测一遍git上的源代码,如果源代码发生变化则执行构建。
4.编写触发构建时的执行脚本
5.设置邮件通知构建结果是否成功(构建过程:fail-unstable-stable状态变化时才发送邮件!)
6.构建过程日志查看:
过程中遇到的一些坑:
(1)初次进入jenkins,系统设置-Configure Global Security-项目矩阵授权不设置权限,就保存,结果:重启jenkins后访问jenkins提示无“overall/read”权限,不能访问了。
解决:修改配置文件 /root/.jenkins/config.xml的属性authorizationStrategy,改为
class="hudson.security.AuthorizationStrategy$Unsecured",意思为不限制登录用户的权限--任何用户具有所有权限。然后登录之后,重新修改项目矩阵权限即可。
(2)执行脚本时控制台echo输出中文乱码
解决:在tomcat的启动脚本/opt/tomcat7/bin/startup.sh中设置编码格式为utf-8
需要完善的地方:
(1)代码拉取后,没有编译打包上传服务器过程。(熟悉maven后补上)
(2)没有考虑一些构建细节。如设置多久时间触发构建才算合理,动态口令的作用是什么等等。。
(3)需要注意安全矩阵(设置jenkins的各种用户权限)和项目矩阵(设置操作一个job的各种权限)的区别和实际使用场景
(4)多个构建之间的关系,以及并发构建没有深入了解。
网友评论