1. 授权认证
  2. 获取用户个人信息
  3. 项目协同
  4. 代码托管
  5. 持续集成
  6. 制品仓库
  7. 测试管理
  1. 项目协同
  2. 代码仓库
  3. DevOps 实践之旅
  4. 一分钟开始持续集成之旅
  5. 持续部署
  6. 制品库

构建 PHP + Zend Framework 应用

用 PHP 来开发 web 应用,毫无疑问是比较方便快速的,因为有很多成型可直接套用的 web 框架,可以助力快速开发,提高开发效率。ZendFramework(以下简称:ZF)就是其中之一,它以 Model-View-Controller(MVC)三层架构展开。将程序中的不同的部分独立开来,使得程序的开发互不影响和后期维护更加容易。ZF 使我们开发上更专注业务,不需要操心扩展问题,而本文主要演示如何使用 CODING 持续集成 快速构建 php zend framework 项目,使开发到部署的路上更近一步。

demo 项目准备

环境要求:

  • PHP 版本至少 5.3.23
  • composer

快速准备脚手架项目

  1. 创建脚手架项目

点击访问具体参考链接

  1. 本地启动

使用 composer run 命令本地启动

  1. 浏览器访问

项目结构说明:
使用 phpStorm 打开项目,大概的目录结构如下

创建与配置持续集成构建计划

  1. 创建指引

点击创建构建计划时,会有如上一些模板,在这里我们选择空白模块

  1. 然后修改构建计划名称为 php-zf-demo-build, 点击确定。

  1. 然后修改流程配置文件使用如下我已经调试好的脚本:
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。

  1. 环境变量配置

这里需要使用制品库的功能来保存我们最终构建好的镜像,设置好仓库,app 名称等相关环境变量即可。

  1. 触发构建

最终我们可以借助 docker compose 使用构建产出的镜像快速部署应用。

总结

按照这些步骤,最终我们的项目就可以实现: 每当有代码变动,构建计划可以自动触发,然后打包为镜像上传到制品库,每一次的代码改动最终都可以体现到 docker 镜像中,在 CD 阶段就可以直接使用这些镜像作部署。最主要是借助 CODING 这个平台,我们不需要关心 CI 的一些基础设施,并且从提交代码到产出镜像,都是完全可以自动化的。

上一篇基于 CI 实现微信小程序的持续构建
最近更新
感谢反馈有用
感谢反馈没用