构建 PHP + Zend Framework 应用
用 PHP 来开发 web 应用,毫无疑问是比较方便快速的,因为有很多成型可直接套用的 web 框架,可以助力快速开发,提高开发效率。ZendFramework(以下简称:ZF)就是其中之一,它以 Model-View-Controller(MVC)三层架构展开。将程序中的不同的部分独立开来,使得程序的开发互不影响和后期维护更加容易。ZF 使我们开发上更专注业务,不需要操心扩展问题,而本文主要演示如何使用 CODING 持续集成 快速构建 php zend framework 项目,使开发到部署的路上更近一步。
demo 项目准备
环境要求:
- PHP 版本至少 5.3.23
- composer
快速准备脚手架项目
- 创建脚手架项目
点击访问具体参考链接。
- 本地启动
使用 composer run 命令本地启动
- 浏览器访问
项目结构说明:
使用 phpStorm 打开项目,大概的目录结构如下
创建与配置持续集成构建计划
- 创建指引
点击创建构建计划时,会有如上一些模板,在这里我们选择空白模块
- 然后修改构建计划名称为
php-zf-demo-build
, 点击确定。
- 然后修改流程配置文件使用如下我已经调试好的脚本:
pipeline {
environment {
DOCKER_IMAGE_NAME = "$REGISTRY_URL/$PROJECT_NAME/$REGISTRY_REPO/$PHP_ZF_APP"
}
agent any
stages {
stage('检出') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: env.GIT_BUILD_REF]],
userRemoteConfigs: [[
url: env.GIT_REPO_URL,
credentialsId: env.CREDENTIALS_ID
]]])
}
}
stage('打包镜像') {
steps {
script {
docker.build DOCKER_IMAGE_NAME
}
}
}
stage('推送到制品库') {
steps {
script {
docker.withRegistry("https://$REGISTRY_URL", DOCKER_REGISTRY_CREDENTIALS_ID) {
docker.image(DOCKER_IMAGE_NAME).push()
}
}
}
}
}
}
这里构建的构建步骤比较简单,可以说基于 docker 的打包方式,基本都可以采用这个流程,核心就是编写 Dockerfile。
- 环境变量配置
这里需要使用制品库的功能来保存我们最终构建好的镜像,设置好仓库,app 名称等相关环境变量即可。
- 触发构建
最终我们可以借助 docker compose 使用构建产出的镜像快速部署应用。
总结
按照这些步骤,最终我们的项目就可以实现: 每当有代码变动,构建计划可以自动触发,然后打包为镜像上传到制品库,每一次的代码改动最终都可以体现到 docker 镜像中,在 CD 阶段就可以直接使用这些镜像作部署。最主要是借助 CODING 这个平台,我们不需要关心 CI 的一些基础设施,并且从提交代码到产出镜像,都是完全可以自动化的。
最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?
您希望我们如何改进?