服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 云服务器 - 码云(gitee)通过git自动同步到阿里云服务器

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

2022-12-15 16:45yin 云服务器

当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,GIT就是一个很好的选择。这篇文章主要介绍了码云(gitee)通过git自动同步到阿里云服务器

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

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

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

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

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

1.先cd到当前用户目录

?
1
cd ~

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

?
1
vi .git-credentials

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

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

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

?
1
2
3
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

?
1
2
3
4
5
cp ~/.gitconfig /home/nginx/
cp ~/.git-credentials /home/nginx/
cd /home/nginx
chown nginx.nginx.gitconfig
chown nginx.nginx.git-credentials

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

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

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

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

六.拉取代码脚本

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//本地路径
$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,那么此处倒数第二行代码可以改为如下:

?
1
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到服务器内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

延伸 · 阅读

精彩推荐
  • 云服务器阿里云服务器1M带宽够用吗?是否要升级带宽?

    阿里云服务器1M带宽够用吗?是否要升级带宽?

    现在国内云服务器带宽都是默认1M,大部分网站这个配置初期是够用的。后面随着网站发展,访问量越来越大,够不够用还是要看网站类型以及高峰期的流...

    服务器知识网5022022-02-28
  • 云服务器网站云主机租赁时需要注意哪些事项?

    网站云主机租赁时需要注意哪些事项?

    云主机现在活跃在互联网上已经得到了大家的认可,在使用后给予极高的好评。那么网站云主机租赁时有哪些注意事项呢?下面小编就为大家介绍一下关于网...

    服务器之家4822019-06-10
  • 云服务器云服务器怎么设置伪静态?

    云服务器怎么设置伪静态?

    云服务器怎么设置伪静态?URL静态化是一个有利于搜索引擎的设置,通过URL静态化,使原来动态的PHP页面转换为静态化的HTML页面,可以提高搜索引擎抓取,...

    服务器技术网8182021-06-11
  • 云服务器2022腾讯云学生服务器申请流程(全攻略)

    2022腾讯云学生服务器申请流程(全攻略)

    腾讯云学生服务器活动可选轻量应用服务器和云服务器,2核4G轻量应用服务器6M带宽年付120元、2年260元、3年432元,还有4核8G10带宽轻量应用服务器可选,也...

    运维FUN9062022-08-16
  • 云服务器天翼云主机干什么用的?电信天翼云主机怎么用

    天翼云主机干什么用的?电信天翼云主机怎么用

    天翼云主机是中国电信推出的云主机,它是基于中国电信遍布全国的云数据中心,通过虚拟化技术整合IT资源,为各行业提供按需租用计算、安全存储、高...

    云主机之家10212022-12-22
  • 云服务器云服务器内存多大合适?

    云服务器内存多大合适?

    云服务器内存多大合适?不同的应用,所需要的服务器内存是不一样的。如果云服务器用于建站,服务器内存就应该根据实际应用需求来选择。纠近服务器内...

    服务器知识网6692021-10-29
  • 云服务器云服务器也可以合租吗?

    云服务器也可以合租吗?

    虽然云主机的价格在技术进步之后已经有所下降了,但是对于部分企业来说,长期这么一笔设备支出,还是有点超额,那么这个时候有的企业就想服务器合...

    服务器技术网10462021-06-04
  • 云服务器云服务器与网站空间区别在于什么

    云服务器与网站空间区别在于什么

    云服务器与网站空间区别有哪些?云服务器与网站空间区别,主要在于对服务器的掌控、使用等方面,云服务器可以完全享有服务器资源、权限,而网站空间...

    服务器知识网4062020-07-29