这是8篇文章中的第7篇文章,详细介绍了部署到ZendServer的技巧。该系列的上一篇文章详细介绍了设置和清除页面缓存。
今天,我将分享如何使用ZendServerSDK从命令行部署ZendServer部署包(ZPK)。
技巧7:zs-client
ZendServer有一个API,它允许您以自动化方式与许多管理任务进行交互,而无需访问UI。API范围广泛,并且具有非常复杂的参数签名过程,这使得它难以使用。然而,这在很大程度上已通过ZendServerSDK的azs-client解决。
下载后要做的第一件事就是创建一个applicationtarget。这简化了客户端对后续请求的使用,允许您指定--target={targetname}
而不必为每个调用提供ZendServerURL、API用户名和API令牌。
这是使用addTarget
命令完成的:
$ zs-client.phar addTarget \ > --target={unique target name} \ > --zsurl={URL to your Zend Server instance} \ > --zskey={API username} \ > --zssecret={API token} \ > --http="sslverifypeer=0"
zsurl
只是方案、主机和端口;不包括路径。您可以在ZendServerUI的“管理>WebAPI”页面上找到密钥和令牌,甚至可以在那里生成新的密钥和令牌。
注意最后一行;ZendServer使用自签名SSL证书,这尤其会引发cURL问题——SDK在后台使用cURL。传递--http="sslverifypeer=0"
可以解决这种情况。
创建目标后,您需要确定您的应用程序标识符。使用applicationGetStatus
命令找到它:
$ zs-client.phar applicationGetStatus --target={unique target name}
查看已部署的应用程序列表,找到应用程序的。
从这里,您现在可以使用applicationUpdate
命令部署包:
$ zs-client.phar applicationUpdate \ > --appId={id} \ > --appPackage={your ZPK} \ > --target={unique target name}
总而言之:ZendServerSDK为我们提供了自动化部署的工具。
下次……
本系列的下一个技巧详细介绍了使用zf-deploy和zs-client进行自动化部署。
系列其他文章
- 技巧1:zf-deploy
- 技巧2:重复作业
- 技巧3:chmod
- 技巧4:保护作业脚本
- 技巧5:设置作业状态
- 技巧6:页面缓存
- 技巧8:自动化