一、Bt环境
-
我用了自带的git创建站点,不管用。刷新不出支付。
-
在服务器上www用户创建key
bash
sudo -u www ssh-keygen -t rsa -b 4096 -f /home/www/.ssh/id_rsa -C "www@bt-server" -N ""
用www用户生成一个SSH密钥对。
- 将这个密钥添加到云效的SSH里云。
3.1 复制出/home/www/.ssh/is_rsa.pub里的内容
3.2 点右则头像,找到这个ssh公钥

把复制出来的内容,贴到上面的公钥里。
- 在服务器上测试是否用效
输入:
bash
sudo -u www ssh -T git@codeup.aliyun.com
如果返回,类似下面信息,就表示连接成功:
bash
[www@22222.ssh]$ ssh -t git@codeup.aliyun.com
Welcome to Codeup, du****@126.com!
Connection to codeup.aliyun.com closed
我本来想用Bt的创建站点来做同步的,但我配置好了,刷不出来分支,所以我放弃了。改用webHook.
五、 在Bt的应用商店里安装webhook

安装这个,然后点编辑,把下面的脚本贴进去:
bash
#!/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始执行WebHook钩子-------"
# ========= 请修改以下三个变量 =========
# 1. 网站项目在服务器上的绝对路径
gitPath="/www/wwwroot/你的项目目录"
# 2. 云效仓库的 SSH 地址
gitHttp="git@codeup.aliyun.com:你的组名/你的仓库名.git"
# 3. 要拉取的分支名称 (默认是 master 或 main)
gitBranch="main"
# ====================================
echo "项目路径:$gitPath"
# 判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
# 判断是否存在 .git 目录
if [ ! -d ".git" ]; then
echo "未发现Git仓库,正在克隆..."
git clone $gitHttp .
fi
echo "正在拉取最新代码 (分支: $gitBranch)..."
git pull origin $gitBranch
echo "代码拉取完成!"
else
echo "错误:项目路径不存在!"
echo "End"
exit
fi
echo "-------执行结束-------"
六、在云效里找到webhook
在上一步的webHook列表中,有个查看密钥,点下,复制下信息,如下图:

在云效里,找到webHook,如下图:
新建一个webHook ,如下图,URL填查看密钥中看到的信息:
然后提交保存。
七、测试
点右侧操作的测试,就ok了。


你点测试,BT的webhook会同步收到信息。