jenkins php build,jenkins实现PHP项目持续集成部署

文章目录

[隐藏]

安装jenkins相关依赖

jenkins配置和启动

插件安装

配置SSH免登录

配置Publish Over SSH Plugin

开始构建项目

安装jenkins相关依赖

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

系统管理—系统设置

c4e12d3b9bf54c56e1c28ab00404ffa5.png

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

3f4e93c04def986d6b4cfd26d8b5b3f1.png

build.xml文件内容如下

<?xml version="1.0" encoding="UTF-8"?> roject name="api" default="build"> roperty name="version-m" value="1.1" /> roperty name="version" value="1.1.0" /> roperty name="stability" value="stable" /> roperty name="releasenotes" value="" /> roperty name="tarfile" value="${phing.project.name}.${buildnumber}.${buildid}.tar.gz" /> roperty name="pkgfile" value="${phing.project.name}.${version}.tgz" /> roperty name="distfile" value="dist/${tarfile}" /> roperty name="tests.dir" value="test" /> roject>

这里我们只做简单发布,没有加入php-unit等插件。

开始构建项目

新建—输入项目名称,选择构建自由风格的软件项目—下一步

配置源码管理

这里我们用的是git

7116f6cfda14b32a56e5202608f6fc9f.png

增加构建步骤,选择Invoke Phing targets,再新增一个构建步骤,选择Send files or execute commands over SSH

f8391849ad4d4aa9dfab6b3558b3d510.png

Phing targets配置如下

e57a0274d9d87d04ab0a4fd8f89ad300.png

Send files or execute commands over SSH 配置如下

449cf3bffda09e92e78a32df4c744614.png

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

ecc154e38d568eaf51da47bd0191578b.png

至此已经大功搞成了。

原文出处:csdn -> http://blog.csdn.net/u014477164/article/details/76686286

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值