思路:
- 从git上下载到工作空间(workspace)
- 通过phing打包
- 通过ssh发送压缩包
- 服务器解压缩包
git配置
前文又讲不多赘述
phing配置
- 在你的jenkins服务器上,安装php,由于之前镜像版本不对,安装php很麻烦,请选择改版本jenkins
- 安装php
apt-get install php
复制代码
- 安装phing
pear channel-discover pear.phing.info
pear install --alldeps phing/phing
复制代码
- 测试
phing -v
复制代码
build.xml配置
- 在你的项目目录下,加入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=".">
<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>
复制代码
- phing build.xml 官方文档
jenkins配置
- Invoke 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/
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END