将项目放置码云管理,并通过webhook同步更新项目线上程序(二)

这个专题第一篇记录了如何将代码上传码云实现代码管理,这一篇记录如何实现码云与服务器实现热传递,从而实现实时更新程序的效果。

1.通过shell工具进入服务器下的项目根目录,切换www用户['su www'],实际操作的过程中可能会遇到报错,错误内容如下:

这是因为用户的shell,禁止了www用户登录,修改/etc/passwd文件(如下图):

将项目放置码云管理,并通过webhook同步更新项目线上程序(二)_第1张图片

将“/sbin /nologin”改成“/bin/bash”。

2.切换成www用户后,生成服务器git公钥,添加至码云(具体操作看这个专题第一篇)

3.添加成功后进入项目根目录下,进行git仓库初始化

git init

4.登录git

git config --global user.email  "[email protected]"  //邮箱为你的注册码云账号时绑定的邮箱
git config --global user.name  "Your Name"              //用户名为你码云注册时的登录名

5.将本地仓库与码云仓库建立连接

git remote add origin [email protected]:用户名/仓库名
#码云仓库地址要用ssh,不然还是每次都要输入密码

6.下拉代码

git pull origin master
#首次下拉指定分支

7.查看代码下拉是否成功。添加webhook到项目目录(要可以访问的到才行

将项目放置码云管理,并通过webhook同步更新项目线上程序(二)_第2张图片

webhook.php内容如下:

$cmd="git fetch --all && git reset --hard origin/master && git pull";
$r= shell_exec($cmd);
print_r($r);

**其实就是通过php函数执行一句强制下拉的命令(强制下来会服务服务器代码,视情况用)

8.将webhook文件的服务器访问地址添加至码云仓库中,添加后,修改文件进行测试,查看是否成功实现同步即可。

将项目放置码云管理,并通过webhook同步更新项目线上程序(二)_第3张图片

你可能感兴趣的:(Git)