wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins yum install java yum install java-1.8.0-openjdk yum install php yum install php-devel yum install php-pear yum install re2c yum install php-pear-phing
jenkins配置和启动service jenkins start 输入localhost:8080即可访问。
插件安装系统管理-插件设置 安装以下插件 Phing(php构建工具) Publish Over SSH Plugin(通过ssh发布代码)
配置SSH免登录假设有两台服务器。A为发布机,即jenkins所在机器。B为应用服务器,即运行PHP的服务器。 首先在A服务器生成公私钥。 ssh-keygen -t rsa
这时.ssh目录下会生成私钥和公钥的键值对id_rsa,id_rsa.pub
将id_rsa.pub公钥复制到B服务器上,并重命名为authorized_keys。 scp ~/.ssh/ras.pub root@B:/root/.ssh/authorized_keys
这时候ssh到B服务器则无需登录密码。 ssh root@B
注:若生成RSA密码的时候设置了ssh key,SSH到B服务器的时候还需要输入相应ssh key。
配置Publish Over SSH Plugin系统管理—系统设置
Jenkins SSH Key:生成rsa的时候设置的ssh key,若没有设置则留空。 Key:填上A服务器私钥的内容。默认路径 ~/.ssh/id_rsa Hosename:填上B服务器的IP username:填上B服务器的帐号
配置phing build.xml
进入当前job的项目目录 cd /var/lib/jenkins/workspace/git
build.xml文件内容如下
123456789101112131415161718192023222324252627282930313233343536373839这里我们只做简单发布,没有加入php-unit等插件。
开始构建项目新建—输入项目名称,选择构建自由风格的软件项目—下一步
配置源码管理
这里我们用的是GIT
增加构建步骤,选择Invoke Phing targets,再新增一个构建步骤,选择Send files or execute commands over SSH
Phing targets配置如下
Send files or execute commands over SSH 配置如下
Source files:dist/api.${BUILD_NUMBER}.${BUILD_ID}.tar.gz Remove prefix:dist/ Remote directory: /home/data/ Exec command: mkdir -p /home/data/ mkdir-p /home/www/ cd /home/data/ tar -zxf api.${BUILD_NUMBER}.${BUILD_ID}.tar.gz -C /home/www/ /home/data/ 为B服务器接收打包文件的目录 /home/www/ 为B服务器PHP项目运行的目录
保存即可。
接下来进入项目–立即构建,完成后我们进入B服务器。 cd /home/data
至此已经大功搞成了。