网站首页 > 精选教程 正文
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文件全部赋值到公钥输入框,然后点击保存
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怎么执行composer 安装命令
猜你喜欢
- 2024-10-08 Docker(01) Nginx容器部署,创建 docker 容器后修改挂载目录的方法
- 2024-10-08 介绍HTTPS网站建设方法 介绍https网站建设方法是什么
- 2024-10-08 linux的分区方法 linux如何分区
- 2024-10-08 tomcat集群和session共享 tomcat 集群
- 2024-10-08 Java 监控直播流rtsp协议转rtmp、hls、httpflv协议返回浏览器
- 2024-10-08 问题:vue项目打包后,放到二级目录无法访问的解决方案
- 2024-10-08 简单聊聊负载均衡的那些事 负载均衡的三种方式
你 发表评论:
欢迎- 最近发表
-
- java 服务之间调用(rpc)(java实现服务器)
- Java机器学习库(Java ML)(二、聚类)
- 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- GitHub精选 | 轻量级Android和Java日志库
- Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- Excel函数核武器库:50个高频场景公式——第二弹
- Excel函数核武器库:50个高频场景公式——第一弹
- Spring Cache高性能缓存库 - Caffeine简介
- Java通过Kafka Streams库来实现数据流处理
- 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)