202026.1 jenkins介绍
• 参考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
Jenkins介绍
• 官网 https://jenkins.io
• Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。
• Jenkins是一个工具集,提供了各种各样的插件
• 比如获取git上最新的代码
• 比如可以帮你编译源代码
• 比如可以调用自定义的shell脚本远程执行命令
• 官方文档 https://jenkins.io/doc/
Jenkins安装
• 最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8
• 安装jdk1.8
• yum install -y java-1.8.0-openjdk
•安装yum 源 wget -O /etc/yum.repos.d/jenkins.repo 、https://pkg.jenkins.io/redhat/jenkins.repo
• rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
• yum install -y jenkins
• systemctl start jenkins
• less /var/log/jenkins/jenkins.log //查询admin密码
• 访问 http://ip:8080/ 进行安装
选择第一个
设置用户名
初始界面几乎什么都没有需要借助各种插件
点击配置项目
服务端
jobs目录 存放新建项目的 目录、logs 存放相关的日志文件 、secrets密码秘钥相关的目录
Jenkins相关目录
• rpm -ql jenkins
•
• 安装目录/var/lib/jenkins
•
• 配置文件 /etc/sysconfig/jenkins
•
• 日志目录 /var/log/jenkins
Jenkins发布php代码
检查插件:
“系统管理”>>“管理插件”>>“已安装”
• 检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装
• 安装好两个插件后配置ssh用于登录远程访问端,
• 事先在一台linux服务器上生成一对**
点击“系统管理”>> “系统设置”>>下拉,找到“Publish Over SSH”
将服务端的公钥放到 远程机器上

将公钥也放到本机以便需要登录本机
手动测试登录远程机器
• ssh-****** -f /root/.ssh/jenkins //可以设置密码,也可不设置
• “Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴/root/.ssh/jenkins文件内容
• 点击左下角“增加”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/
• 如果是多台web server,继续点击“增加”,重复以上操作
• 点左下角的“保存”
添加本机信息然后点击测试配置
添加远程目标机器信息
创建项目
• 点击“新建”,任务名称自定义,比如test,选择“构建一个自由风格的软件项目”点击下方的“确定”
发布任务细节
• 描述,自定义
代码仓库
• “源码管理”选择 “Git”
• “Repository URL”填写你项目的git地址,如果是公共项目可以不设置下面的参数,直接填写一个git地址即可,若是私有项目,需要填写认证信息,比如可以选择 “SSH Username whith private key”,然后设置Username以及private key
发布分支• “Branches to build” 默认为*/master,意思是发布的分支为master,保持默认
“构建触发器”和“构建环境”留空
最核心的一步点击构建增加构建步骤
• “构建”,选择 “Send files or execute commands over SSH”
• SSH Server,Name 选择对应的服务器,Transfers, Source files填写**/**,表示全部文件
添加多个主机 
点击保存
查看输出

检查发布结果
服务端
远程机器