Git 自动化部署-宝塔


1、在服务器上生成公钥并查看公钥

 

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"

cat ~/.ssh/id_ed25519.pub

 

2、在仓库设置页面添加公钥并启用公钥

 

为什么要添加公钥

   部署公钥允许以只读的方式访问仓库,主要用于仓库在生产服务器的部署上,免去HTTP方式每次操作都要输入密码和普通SSH方式担心不小心修改仓库代码的麻烦。

   部署公钥配置后的机器,只支持clone与pull等只读操作。如果您想要对仓库进行写操作,请 添加个人公钥

 

 

 

 

3、服务器上切换到项目根目录,初始化git,设置git仓库地址

 

git init

git remote add origin 【仓库ssh地址】

 

4、在宝塔上安装  WebHook,并且添加脚本

 

 

添加脚本

if test $1 = 'pull'
then
    echo "-----------------------------------------------"
    echo '代码更新:' $(date '+%Y-%m-%d %H:%M:%S')
    cd /data/www/wufu.wangqy.cn
    
    sudo git pull origin master
    echo "更新成功"
fi

 

注意:这里遇到一个问题

刚开始的脚本中有如下代码,导致 我这里每次提交代码后,在服务器上都会冲突。

这是因为变更权限导致的,权限变更后,git会认为文件发生了改变。

    chown -R www:www ./
    chmod -R 755 ./

 

查看密钥,链接

 

 

 

然后到仓库中设置 webhooks

注意在脚本中 

if test $1 = 'pull'

 

$1 是链接中的 param ,需要和链接中的param 保持一致

 

比如我这里 $1 是 pull 

所以链接就应该是:http://IP地址:端口/hook?access_key=EQ5d9EhNDGqoG1a5lkHc2YoMGsjsewDR02mqo&param=pull

secret_token 是密钥

 

 

发布时间 : 2023-03-01,阅读量:2481 , 分类: Git
本文链接:https://upwqy.com/details/399.html
微信小程序支付(一)开发必读 git 配置