Jenkins简单实现PHP集成上线部署

发表于:2018-4-28 13:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Richard    来源:博客园

  基于公司git版本控制,搭建jenkins实现php集成部署
  一.安装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免登录
  参考:ssh免密码登录
  五.配置Publish Over SSH Plugin
  系统管理—系统设置
  Jenkins SSH Key:生成rsa的时候设置的ssh key,若没有设置则留空。
  Key:填上发布服务器(jenkins所在机器)私钥的内容。默认路径 ~/.ssh/id_rsa
  Hosename:填上部署服务器(应用服务器)的IP
  username:填上部署服务器(应用服务器)的帐号
  六.配置phing build.xml
  进入当前job的项目目录  例如:cd /var/lib/jenkins/workspace/git
  build.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="api" default="build">
<target name="build" depends="make_runtime,check,tar"/>
<property name="version-m"  value="1.1" />
<property name="version"    value="1.1.0" />
<property name="stability"  value="stable" />
<property name="releasenotes" value="" />
<property name="tarfile"     value="${phing.project.name}.${buildnumber}.${buildid}.tar.gz" />
<property name="pkgfile"     value="${phing.project.name}.${version}.tgz" />
<property name="distfile"    value="dist/${tarfile}" />
<property name="tests.dir" value="test" />
<fileset id="api.tar.gz" dir=".">
  注意:此处为对上传文件的限制,这里还可以使用 exclude 排除文件和文件夹,如果没有限制默认为上传所有
<include name="test/**"/>
<include name="*.php"/>
<include name="*.xml"/>
</fileset>
<target name="make_runtime">
<mkdir dir="${project.basedir}/Runtime" />
<mkdir dir="${project.basedir}/build/logs" />
<mkdir dir="${project.basedir}/build/pdepend" />
<mkdir dir="${project.basedir}/build/code-browser" />
</target>
<target name="check" description="Check variables" >
<fail unless="version" message="Version not defined!" />
<fail unless="buildnumber" message="buildnumber not defined!" />
<fail unless="buildid" message="buildid not defined!" />
<delete dir="dist" failonerror="false" />
<mkdir dir="dist" />
</target>
<target name="tar" depends="check" description="Create tar file for release">
<echo msg="Creating distribution tar for ${phing.project.name} ${version}"/>
<delete file="${distfile}" failonerror="false"/>
<tar destfile="${distfile}" compression="gzip">
<fileset refid="api.tar.gz"/>
</tar>
</target>
</project>
  七.开始构建项目
  新建—输入项目名称,选择构建自由风格的软件项目—下一步
  八.配置源码管理(以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/
**此处可以写进入到 应用服务器的shell脚本,例如给指定文件夹分配权限
/test/data/ 为应用服务器接收打包文件的目录
/test/www/ 为应用服务器PHP项目运行的目录
  保存即可。
  接下来进入项目–立即构建,完成后我们进入应用服务器,查看代码。
  部署完成~

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号