一、前言
对于刚创业的小型公司或者是个人开发者开发项目,要开发一套自动部署框架成本太大,所以如果能有一个第三方的开源服务那就最好不过了,Jenkins就是这样的一个服务器。
二、Jenkins概念
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
官网:https://jenkins.io/
官方文档:https://jenkins.io/doc/
Jenkins特性:
开源的java语言开发持续集成工具,支持CI,CD;
易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;
消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
分布式构建:支持Jenkins能够让多台计算机一起构建/测试;
文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。
三、Jenkins安装
环境准备:
1. JDK 8
2. git
3. maven 3.5+
4. 512M以上的运行内存
5. 1GB以上的可用磁盘
下载地址(我这里用的是最新的)
http://mirrors.jenkins.io/war/latest/jenkins.war
在同级目录创建启动文件 jenkins-start.sh
脚本:
nohup java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war--httpPort=8080 >> nohup.out 2>&1 &
注:-Dhudson.util.ProcessTree.disable=true参数意思为:禁止Jenkins在Job构建过程结束后认为将kill掉未执行完的子进程
启动:
./jenkins-start.sh
访问:
http://47.52.236.91:8080/
结果:
根据提示在对应路径下拿到密码复制在管理员密码上,点击继续
安装插件选择第一个(安装推荐插件)
创建第一个管理员用户
实例配置,这里可以配置连接地址,保持默认就可以
保持并完成
开始使用
另外推荐安装一下三个插件:
Blue Ocean:pipeline流水线的增强插件
Gitee:支持码云的插件
Extended Choice Parameter:参数化构建参数扩展
全局的工具配置
配置maven的settings.xml路径
jdk配置
git配置
maven安装
全局安全配置
配置匿名可读权限
取消跨站请求伪造保护
四、ssh免密登录
在服务器中配置免密登录后,方便jenkins通过ssh连接服务器
1、先查看本地服务器是否存在公钥(是否存在~/.ssh/id_rsa.pub文件)
2、如果不存在公钥就创建一个,运行下面命令(换成自己的邮箱):
ssh-keygen -t rsa -C"[email protected]"
3、通过ssh-copy-id指令将公钥发送到对方主机的/root/.ssh/authorized_keys文件上去
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
4、测试
ssh 192.168.28.130