码云(gitee)通过git自动同步到阿里云服务器


Posted in Servers onDecember 24, 2022

当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,GIT就是一个很好的选择。当然,既然是一个共有平台,那么把这个平台放到个人计算机上明显是不合适的,因此就要在服务器上搭建GIT了。另一个需求是,我们在本地开发,然后推送到服务器上,并且自动同步到web站点目录,这样就可以直接看到网页效果了,这就要实现自动同步。这篇文章主要介绍了码云(gitee)通过git自动同步到阿里云服务器

一.预先在码云(gitee)上新建项目

找到你的项目https的链接,保存一下

二.阿里云服务器上安装git

三.为了避免git pull时输入账号和密码,我们需要创建.git-credentials

1.先cd到当前用户目录

cd ~

2.然后创建.git-credentials文件

vi .git-credentials

3.写入如下数据,注意,用户名和密码替换上自己码云(gitee)的用户名和密码,当然,如果你同时存在可以一行一个,存在同一个文件

https://用户名:密码@gitee.com   //码云(gitee)的配置

4.接着运行如下命令,这里注意,如果你是第一次在服务器上使用git,那么你最好先运行git config配置一下你的用户,邮箱

git config --global user.name "用户名"
git config --global user.email 邮箱
git config --global credential.helper store

5.查看~/.gitconfig,会发现多一项

6.注意这里只是配置的当前用户,这里我们查看php-fpm运行的用户是www(大家或许会跟我不同),所以我们需要为www也配置.git-credentials

我们把.gitconfig和.git-credentials复制到/home/nginx下,并设置所属用户和组为nginx

cp ~/.gitconfig /home/nginx/
cp ~/.git-credentials /home/nginx/
cd /home/nginx
chown nginx.nginx.gitconfig
chown nginx.nginx.git-credentials

四.我们到阿里云服务器的项目目录git clone项目代码(第一步中的项目地址)

cd /data/www/
git clone https://gitee.com/guixianfeng/test.git
**(码云 添加了公钥还不能git clone 代码点看自己的项目—>管理->是否开源)**

五.由于我们是通过php脚本执行git pull所以,需要给www用户读写test目录的权限

chown -R nginx:nginx /data/www/test
chmod -R g+w /data/www/test

六.拉取代码脚本

接着我们在服务器/data/wwwroot/test项目入口出新建一个webhooks.php, 拉取代码脚本,注意该脚本一定能外网访问, 这里我的为test项目解析了一个http://tp.kinggui.com的域名

//本地路径
$local = '/data/www/test';
//仓库地址
$remote = 'https://gitee.com/guixianfeng/test.git';
  
//密码
$password = '123456';
  
//获取请求参数
$request = file_get_contents('php://input');
if (empty($request)) {
    die('request is empty');
}
  
//验证密码是否正确
$data = json_decode($request, true);
if ($data['password'] != $password) {
    die('password is error');
}
  
echo shell_exec("cd {$local} && git pull {$remote} 2>&1");
die('done ' . date('Y-m-d H:i:s', time()));

此处有点要注意,git pull代码处,我在服务器上/data/wwwroot/test可以手动git pull拉下代码,但是远程访问webhooks.php脚本时,提示git: command not found,那么此处倒数第二行代码可以改为如下:

echo shell_exec("cd {$local} && /usr/local/git/bin/git pull {$remote} 2>&1");

这里/usr/local/git为我git的安装目录,大家的安装目录写成各自对应的目录即可

七、配置gitee的webhooks

码云(gitee)通过git自动同步到阿里云服务器

八、同步拉取代码

最后我们只要git push代码,gitee就会同步触发webhooks设置的脚本,进行同步拉取代码。

到此这篇关于码云(gitee)通过git自动同步到阿里云服务器的文章就介绍到这了,更多相关码云git到服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
Mar 31 Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
小程序后台PHP版本部署运行 LNMP+WNMP
Apr 01 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
Apache Hudi集成Spark SQL操作hide表
Mar 31 Servers
Apache Hudi数据布局黑科技降低一半查询时间
Mar 31 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
May 11 Servers
Windows Server 2008配置防火墙策略详解
Jun 28 Servers
Nginx代理Redis哨兵主从配置的实现
Jul 15 Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Aug 14 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
Aug 14 Servers
Valheim服务器 Mod修改安装教程 【ValheimPlus】
Dec 24 #Servers
keepalived + nginx 实现高可用方案
Dec 24 #Servers
ubuntu20.04虚拟机无法上网的问题及解决
Dec 24 #Servers
ubuntu如何搭建vsftpd服务器
Dec 24 #Servers
CentOS7设置ssh服务以及端口修改方式
Dec 24 #Servers
CentOS7 minimal 最小化安装网络设置过程
Dec 24 #Servers
Elasticsearch6.2服务器升配后的bug(避坑指南)
Sep 23 #Servers
You might like
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
php中的时间显示
2007/01/18 PHP
php购物车实现代码
2011/10/10 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
javascript 函数调用的对象和方法
2010/07/01 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
法学函授自我鉴定
2014/02/06 职场文书
3的组成教学反思
2014/04/30 职场文书
服装设计专业求职信
2014/06/16 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
小学教师岗位职责
2015/04/02 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
golang 实现并发求和
2021/05/08 Golang
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis