jenkins 简单实现php集成上线部署
程序员文章站
2022-07-07 23:46:33
基于公司git版本控制,搭建jenkins实现php集成部署 一.安装jenkins相关依赖 二.jenkins配置和启动 service jenkins start 输入localhost:8080即可访问。 三.插件安装 系统管理-插件设置 安装以下插件 Phing(php构建工具) Publi ......
基于公司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项目运行的目录
保存即可。
接下来进入项目–立即构建,完成后我们进入应用服务器,查看代码。
部署完成~
上一篇: Win11怎么把任务栏调到左边
推荐阅读
-
[C#]使用 Jenkins 为 .Net Core 实现持续集成/部署
-
jenkins 简单实现php集成上线部署
-
devops持续集成,Centos7.6下gitlab+jenkins(pipeline)实现代码自动上线
-
centos7 通过docker 安装Jenkins实现后端PHP自动化部署
-
Jenkins部署Android 自动打包简单实现
-
Jenkins加Shell实现最简单的持续部署
-
[C#]使用 Jenkins 为 .Net Core 实现持续集成/部署
-
基于Jenkins 实现php项目的自动化测试、自动打包和自动部署
-
devops持续集成,Centos7.6下gitlab+jenkins(pipeline)实现代码自动上线
-
jenkins 简单实现php集成上线部署