Tingting Dong

Tingting Dong

QA,抠脚女汉子,热爱一切美好事物的2货处女座...

LinkedIn

Jenkins系列 - 1.开始了

先考虑什么呢?

你要拿Jenkins来做什么呢?你要用它来实现什么?你的环境是什么?需要管理怎样的集群?

通常,我们一开始有一个大概的方向,但面对的任务是模糊的,使用Jenkins,解放我们懒惰的双手,让一切按时有序的进行是我们的目的。

Jenkins能做的事情多,范围广,这一次从我公司的角度来介绍一下常见的Jenkins应用场景, 童鞋们可以考量一下需要思考的东西。

  1. 统一的代码库(cvs) 我司用的git, 准备repo地址,用户名,密码
  2. 自动构建 机制?是有代码改动就构建还是定时呢?如果是定时那么什么时间?频率?
  3. 构建的方式 我司java程序,采用ant构建
  4. 自动测试 测试用例如何执行,需要准备什么样的环境来运行Case
  5. 面向用户群体 manager需要一个汇总结果的report界面,而qa需要构建结束通知以及运行测试用例结果的链接
  6. 机器的管理 共有多少Server供CI使用?他们分别对应做什么事情?比如我司使用linux/windows各一台专门做build,然后部署artifact到其他server做test。 这样,build server的性能及存储是个需要提前准备的事情,网络的配置也要考量
  7. 使用Jenkins的群体 我司的CI主要是供qa使用的。开发,manager会以访客身份浏览内容。运行,owner全部由qa承担,权限设计可以在开始就有个雏形
  8. 结果的展现 不要以为任何不用定制的report可以满足你的老板,而一个漂亮的report少不了数据的支撑,提前考虑如何持久化你的运行结果,以符合你要求的格式
  9. 数据的备份 Jenkins提供备份恢复的插件。请提前考虑如何组织CI用到的脚本,把他们放在一个不易丢失(CVS)或易备份(特定的文件夹)里面
  10. 其他定制化内容的考量

接下来做什么呢

心中有数后,开始做最常规的工作,将你已知的资源加入Jenkins

  1. 配置你的server
  2. 让你的server们尽量不分彼此是最理想的状况。分区/路径,所装软件的版本/路径,请记住统一管理需要降低差异,这样你就不会去费时间解决在一个Server上装了jdk1.8所编译的东东到1.7的server上面用不了的尴尬问题
  3. 在“系统设置”里,确定全局的环境变量。 screenshot
  4. 在“系统设置”里,确定常用工具位置。 screenshot screenshot
  5. 添加你的server 关于怎么添加网上有很多教程,请保证同一类型的Server远程工作目录相同

不会讲述hello world

是的,这不是一个手把手从零开始的教程,接下来会介绍一些最佳实践。至于基础的东东,网上随便一搜就有啦~



comments powered by