摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号