起因

近期由于工作需要做起了起了jenkins的维护。不做不知道,一搞发现里边全是小坑。两个月弄了一身泥。曾经小瞧了它,但是发现其实要弄好它不是那么容易的。有句知名的话“没有总结就没有提高。”,尝试把这一段的工作总结下来。第一篇是安装Jenkins 相关的内容,不会把Jenkins的doc抄一遍,会写一些doc以外的东西。

版本考虑:

  • 使用LTS的版本,不要有尝鲜心态(满满的bug),新特性不重要。但bug会让你很困扰。

  • 选择Jenkins2以上的版本(这篇文章写于2017年),充分利用Pipline特性。1.x和2.x其实是两个差异很大的版本。2.x的大坑其实已经被很多企业趟平了。

操作系统考虑:

建议linux系统,因为考虑到稳定性,jenkins服务器应该避免放到桌面级,而是放到托管服务器或者云端,这时候window系统或者mac系统就不合适了。

部署host考虑:

  • 建议部署到IDC或者云端,将OS和存储的维护交由运维工程师管理,以保持基础服务稳定。Jenksin不是玩具,应该按照生产系统的级别来对待,如果严重依赖CI,它的不 可用影响极大。不做托管,各种断电、磁盘不够、备份安全性、系统安全问题会让维护者欲哭无泪。所以,一定不要随便找台机子就开始安装。

安装方式考虑:

jenkins支持多种方式部署:独立部署(自带轻量级web容器 Winstone Servlet Container ) 部署在容器上的serverlet,docker,几种方式各有利弊,可以根据自己的需要选择。

安装样例(Unbuntu下安装jenkins)

在Ubuntu下我们可以用apt命令搞定安装,这样jenkins会变成一个系统进程(其实就是起了一个Winstone Servlet Container)。

在安装之前,确保你的系统装了1.7版本以上的Java

java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins

这样jenkins就被安装好了。

检查安装:

http://安装机ip/:8080 查看安装是否OK。
后续就是密码验证和插件安装阶段了。

端口映射

修改为80端口,这样就不用写端口号了。

修改: /etc/default/jenkins文件 HTTP_PORT=80

域名

如果有内部域名,最好配置一个,毕竟记ip是个很恶心的事儿。

参考文章:

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins

参考

最新文章

  1. IPC操作时IPC_CREAT和IPC_EXCL选项的说明
  2. 设置Ubuntu为本地时间
  3. TestNG @Factory与 @DataProvider 结合使用进行参数化测试
  4. ORM系列之一:Dos.ORM
  5. [BZOJ1067][SCOI2007]降雨量
  6. C++内嵌汇编代码,简单文件加密
  7. [SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化
  8. dicom格式文件 界定标识符的处理
  9. 百度的domain命令到底有用吗?
  10. 技术型创业者easy遇到的三大问题
  11. hdu3308LCIS(线段树,点更新,段查寻,查寻时一定要注意跨越时如何计算)
  12. 笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器
  13. oracle11g ASM(修复损坏的磁盘组头asm修复2)
  14. [译]Java 设计模式之抽象工厂
  15. 常用类型转换 一.常用int和string类型转换
  16. Springdata mongodb 版本兼容 引起 Error [The 'cursor' option is required, except for aggregate with the explain argument
  17. 图文解说Win7系统机器上发布C#+ASP.NET网站
  18. 【SRM-05 B】无题?
  19. java和python对比----1:
  20. leveldb 学习记录(七) SSTable构造

热门文章

  1. UOJ #207. 共价大爷游长沙
  2. ZOJ - 2112 Dynamic Rankings(BIT套主席树)
  3. ABI是编译器的开发指南
  4. c++参数传递的三种方式
  5. 前端css样式及选择器
  6. RDVTabBarController--可自由定制的iOS底部导航控件
  7. JS常见内置对象和方法
  8. BFS算法入门--POJ3984
  9. Exception occurred during processing request: The given object has a null identifier: com.zsn.crm.Model.SaleVisit; nested exception is org.hibernate.TransientObjectException: The given object has a nu
  10. js | javascript中获取dom元素的高度和宽度