官网 https://jenkins.io
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。
Jenkins是一个工具集,提供了各类各样的插件
好比获取git上最新的代码
好比能够帮你编译源代码
好比能够调用自定义的shell脚本远程执行命令
官方文档 https://jenkins.io/doc/php
最低配置: 很多于256M内存,不低于1G磁盘,jdk版本>=8
安装jdk1.8 yum install -y java-1.8.0-openjdk 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/ 进行安装
[root@shuai-01 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword # 安装密码
一步一步进入Jenkins页面:java
Jenkins配置文件: /etc/sysconfig/jenkinsnode
Jenkins程序主目录:cd /var/lib/jenkins/git
jobs/浏览器建立的任务 logs/ 相关的日志 nodes/多节点用到的 plugins/插件用到的目录 secrets/密码秘钥相关的 备份Jenkins: 只要把目录所有拷贝 Jenkins不须要借助数据库存放相关的数据,配置所有存放在.xml文件里
jenkins发布PHP须要安装两个插件:git plugin ,publish over sshweb
须要在系统管理中的插件管理安装上。shell
安装完成以后,重启Jenkins服务数据库
systemctl restart jenkins
设置publish over ssh插件:浏览器
首先要在安装Jenkins服务的机器上生成一份秘钥对,而后传到客户机上。服务器
ssh-keygen -t rsa less
scp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@10.10.3.201:~/.ssh/
再系统管理系统设置下找到publish over ssh插件:
“Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴/root/.ssh/jenkins文件内容
点击左下角“增长”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写 /
若是是多台web server,继续点击“增长”,重复以上操做
点左下角的“保存”
点击“新建item”,任务名称自定义,好比 web1-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填写**/**,表示所有文件
Remove prefix 能够指定截掉的前缀目录,这里留空便可,Remote directory指定远程服务器上代码存放路径,好比/data/www,
Exec command为文件传输完成后要执行的命令,好比能够是更改文件权限的命令,设置完成后点击 “Add Transfer Set”,若是还有另外的机器,能够点击 “Add Server”重复以上操做
最后点击左下角的“保存”
完成以上操做后,就能够使用这个刚刚建立的任务去工做了。
点击左面的“当即构建”(Build Now),就能把git上的代码发布到指定的服务器上。
点击左下角的#1/#2… ,而后再点击 “Console Output”能够查看输出日志
建立一个新任务:
从git上拉下来:
这时就能够点击项目并构建: