基於公司git版本控制,搭建jenkins實現php集成部署 php
一.安裝jenkins相關依賴html
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配置和啓動java
service jenkins start 輸入localhost:8080便可訪問。
三.插件安裝git
系統管理-插件設置 安裝如下插件 Phing(php構建工具) Publish Over SSH Plugin(經過ssh發佈代碼)
四.配置SSH免登陸shell
參考:ssh免密碼登陸api
五.配置Publish Over SSH Plugin服務器
<?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>
七.開始構建項目less
八.配置源碼管理(以git爲例)ssh
註釋:工具