PHP语言:自动化部署原理与简单应用
小标 2018-07-12 来源 : 阅读 887 评论 0

摘要:本文主要向大家介绍了PHP语言:自动化部署原理与简单应用,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言:自动化部署原理与简单应用,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。

一.Windows server 2008 自动部署应用

服务器环境:Windows server 2008 和 Apache,window server 2012需要配置系统环境变量登录用户的个人目录路径,用户变量里新建,变量名 HOME ,值:例如 C:\Users\Administrator

制作ssh rsa key

cmd里运行 ssh-keygen -t rsa -C “youremail@example.com” 

如果不成功,配置下环境变量即可,找到ssh-keygen.exe所在目录,在环境变量Path后面添加上即可

直接存到HOME路径并且不需要到密钥密码,直接三个回车,可以C:\Users\shelter.ssh目录下看到id_rsa、id_rsa.pub两个文件,在生产密钥成功!

配置到远程coding库

将上面制作的id_rsa.pub,配置到项目coding远程仓库的部署公钥上

项目->设置->部署公钥

更改apache服务器的登录用户

因为 shell_exec()运行git pull的时候,需要去获取上面制作的ssh密钥,因此需要拥有系统登陆账号的权限才能读到C:\Users\shelter.ssh目录下的id_rsa、id_rsa.pub

修改apache服务的登录用户即可,Apache服务->属性->登录里设置,重启apahce服务器

服务器刚开机的时候,钩子会失效,因为开机自启apache的时候,还是算是SYSTEM账号的。需要自己登陆上去后,重启apache,钩子能用。

编写项目钩子

<?php

 

  //coding会以post请求发送一些认证数据,防止别人恶作剧

  //具体数据查看 https://open.coding.net/webhook.html

  //这里不能用$_POST接受,无法接收到 RAW_POST_DATA

  $json =  json_decode(file_get_contents('php://input'), true);

 

  //这里是一个认证的token,下面我们就会设置到

  $token = 'test';

  if (empty($json['token']) || $json['token'] !== $token) {

    exit('error request');

  }

 

  $pwd = getcwd();

 

  // '2>$1' 配置管道输出错误,方便调试

  // 可以先输出此命令,并在cmd中运行,进行调试。

  $command = 'cd ' . str_replace('\\', '/\\', $pwd) . ' && git pull 2>&1';

 

  echo shell_exec($command);

配置coding远程仓库webhook

Coding 设置的WebHook里配置好Url

PS:安装完git需要重启下服务器

二.Linux 自动部署应用

以上就介绍了PHP的相关知识,希望对PHP有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言PHP频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程