开放的编程资料库

当前位置:我爱分享网 > Python教程 > 正文

使用 Zend Server 进行部署(第 8 部分,共 8 部分)

这是八篇文章中的最后一篇,详细介绍了部署到ZendServer的技巧。该系列的上一篇文章详细介绍了使用ZendServerSDK从命令行部署ZendServer部署包(ZPK)。

今天,我将详细介绍我如何使用zf-deploy和zs-client(ZendServerSDK)进行自动化部署,并以一些结束语结束本系列。

技巧8:自动化

在整个系列中:

  • 我已经为我要运行的计划任务定义了作业队列脚本。
  • 我已经定义了部署脚本来在服务器上自动执行部署任务,包括安排上述作业队列脚本,以及为我的应用程序准备环境。
  • 我正在使用zf-deploy创建ZPK包以推送到服务器,其中包含上述脚本以及我的部署配置。
  • 我正在使用ZendServerSDK来部署我们的ZPK。

但这是一堆手动步骤。如果我可以自动化它会怎样?

有很多工具可以处理这类事情。我可以写一个shell脚本。我可以使用Phing。

我个人喜欢为此使用make(是的,我是一只恐龙)。例如:

PHP ?= $(shell which php)
VERSION ?= $(shell date -u +"%Y.%m.%d.%H.%M")
CONFIGS ?= $(CURDIR)/../site-settings
ZSCLIENT ?= zs-client.phar
ZSTARGET ?= mwop

COMPOSER = $(CURDIR)/composer.phar

.PHONY : all composer zpk deploy clean

all : deploy

composer :
    @echo "Ensuring composer is up-to-date..."
    -$(COMPOSER) self-update
    @echo "[DONE] Ensuring composer is up-to-date..."

zpk : composer
    @echo "Creating zpk..."
    -$(CURDIR)/vendor/bin/zfdeploy.php build mwop-$(VERSION).zpk --configs=$(CONFIGS) --zpkdata=$(CURDIR)/zpk --version=$(VERSION)
    @echo "[DONE] Creating zpk."

deploy : zpk
    @echo "Deploying ZPK..."
    -$(ZSCLIENT) applicationUpdate --appId=20 --appPackage=mwop-$(VERSION).zpk --target=$(ZSTARGET)
    @echo "[DONE] Deploying ZPK."

clean :
    @echo "Cleaning up..."
    -rm -Rf $(CURDIR)/*.zpk
    @echo "[DONE] Cleaning up."

以上确保我的ZPK具有版本名称,允许我将最后几个保留在工作目录中以供参考;当我准备好时,干净的目标会为我删除它们。使用make也给了我一些粒度;如果我只想构建ZPK,以便检查它,我可以使用makezpk。

当然,如果我想在构建过程中进行任何其他预处理或后处理,我也可以这样做。(在我的实际脚本中,我做了一些预处理任务。)

不过,主要的收获是:自动化这些步骤。这使您可以轻松地在需要时进行部署,并且您进行的部署越简单,您就越有可能自信地推动新的变化。

结束语

我对使用ZendServer进行的实验非常满意,并且对我编写的各种作业、部署脚本和作业变得非常有信心。它们使部署变得微不足道,这是我非常满意的一点。我更高兴在AWS上拥有我的网站,因为它为我提供了一些扩展选项,如果我以后需要它们的话。

通过本系列中的技​​巧和提示,希望您会发现自己已成功将您的应用程序部署到ZendServer!

系列其他文章

  • 技巧1:zf-deploy
  • 技巧2:重复作业
  • 技巧3:chmod
  • 技巧4:保护作业脚本
  • 技巧5:设置作业状态
  • 技巧6:页面缓存
  • 技巧7:zs-client
未经允许不得转载:我爱分享网 » 使用 Zend Server 进行部署(第 8 部分,共 8 部分)

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏