当前位置:   article > 正文

Gitee.com(码云)平台配置webhooks,实现服务器代码git pull自动更新_gitee webhooks 配置

gitee webhooks 配置
  • 第一步:在本地环境配置git公钥

git终端执行命令:ssh-keygen -t rsa -C "youremail@xxx.com"

生成的公钥如下图(id_rsa_pub文件即是公钥)

  • 第二步:在服务器环境创建git公钥

登录服务器,执行命令:ssh-keygen -t rsa -C "youremail@xxx.com",生成服务器公钥

 需要注意的是,服务器用户要切换到www,再执行以上命令。

开启www用户的方法:

1.在root用户下执行 vim /etc/passwd

2.修改www用户为 www:x:1001:1001::/home/www:/bin/bash

3.如果生成失败,请检查/home/www/.ssh目录 及 .ssh目录下的默认文件是否存在。

  • 第三步:上传第一步和第二步创建的公钥到码云平台

登录码云平台,找到设置下的SSH公钥,分别添加第一步和第二步生成的公钥。

  • 第四步:在码云平台创建仓库

新建一个仓库,用于测试。

  • 第五步:克隆仓库到本地站点 和 服务器站点

把仓库分配克隆到本地和服务器。

1.本地直接克隆即可

git clone git@gitee.com:yourname/webhook.git

2.服务器克隆仓库

切记在www用户下执行(因为git公钥是在www用户下创建的)

  • 第六步:配置webhooks

1. php.ini需要去掉禁用函数exec 和 shell_exec

2. 配置HTTP URL 到码云的webhooks

 webhooks.php代码如下:(当然你可以验证webhooks的密码或签名)

  1. <?php
  2. $path = "/data/wwwroot/gxt.xxx.cn/webhook";//git pull 目录
  3. shell_exec("cd {$path} && git pull origin master 2>&1");
  4. echo "done";
  • 第七步:测试

 在本地克隆的文件下新加文件test.txt

 git终端执行

  1. 1.git add test.txt   
  2. 2. git commit -m 'test'
  3. 3.git push

查看码云webhooks执行记录

 在服务器查看克隆的文件目录(webhook目录),执行 ls 命令

 test.txt已经存在。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/847333
推荐阅读
相关标签
  

闽ICP备14008679号