php脚本自动部署项目

1.ssh公钥生成

#查看当前账户
[root@iertf834n89df3ederz ~]# whoami
#切换到nginx用户一定要切换,root生成的公钥不能用
[root@iertf834n89df3ederz ~]# su www
This accout is currently not available.
#如果无法切换
[root@iertf834n89df3ederz ~]# usermode -s /bin/bash www
# 然后就可以切换www用户了
[root@iertf834n89df3ederz ~]# su www
# 进入跟目录,查看是否存在.ssh文件夹,如果木有手动创建一个
[root@iertf834n89df3ederz ~]# cd
[root@iertf834n89df3ederz ~]# cd .ssh
# 生成命令会生成两个文件
[root@iertf834n89df3ederz ~]# ssh-keygen -t rsa -C "gitee邮箱"
id_rsa  id_rsa.pub
# 测试
[root@iertf834n89df3ederz ~]# ssh git@gitee.com
# 手动拉取一下
[root@iertf834n89df3ederz ~]# git clone git@gitee.com:wangcb123/api.evmo.cn.git

2.gitee配置公钥

将第一步id_rsa.pub文件全部赋值到公钥输入框,然后点击保存

php脚本自动部署项目

3.编写php脚本

我这里只让develop分支自动部署可自行修改,composer安装更新不全不知道怎么回事,有大神可以教教。

将下面代码复制到php文件里并保证外网可以访问

$root    = '/home/wwwroot/';  //nginx站根目录
$post    = json_decode(file_get_contents("php://input"),true);
$dir     = $post['root'] ?? ''; //站点目录
if(!$dir) die('not found root');
$ssh_url = $post['project']['ssh_url'];
$branch  = explode('/',$post['ref'])[2];
if ($branch != 'develop' || $post['password'] != '123456'){
    return false;
}
$path =  $root . $dir;
if (is_dir($path)) {
    $res = shell_exec("cd {$path} && git checkout {$branch} && git pull 2>&1");
} else {
    $res = shell_exec("cd {$root} && git clone {$ssh_url} {$dir} && cd {$dir} && git checkout -b develop origin/develop 2>&1");
}
/*if (file_exists($path.'/composer.json')){
    //exec("(sh $path/build.sh >/dev/null & )");
    passthru("cd {$path} && (php composer.phar install >/dev/null &)");
}*/
$res .= shell_exec("cd {$path} && chown -R www:www {$path} 2>&1");
/*file_put_contents('./push.log', "[".date('Y-m-d H:i:s')."] ".json_encode([
    'path'    => $path,
    'branch'  => $branch,
    'ssh_url' => $ssh_url,
    'res'     => $res
]).PHP_EOL,FILE_APPEND);*/
echo 'success';

4.仓库配置

php脚本自动部署项目

php脚本自动部署项目

此时已配置完成自动部署,对个人开发私活比较方便,希望大家共同学习,望哪位大神教教php怎么执行composer 安装命令

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.net/procedure/29113.html

发表评论

登录后才能评论