当前位置:论坛首页 > Linux面板 > 求助

【已解决】webhooks中shell脚本不生效

发表在 Linux面板2021-11-23 17:09 [复制链接] 8 8714

  1. #!/bin/bash
  2. echo ""
  3. #输出当前时间
  4. date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
  5. echo "-------开始-------"
  6. #判断宝塔WebHook参数是否存在
  7. if [ ! -n "$1" ];
  8. then
  9.           echo "param参数错误"
  10.           echo "-------结束-------"
  11.           exit
  12. fi
  13. #服务器 git 项目路径
  14. gitPath="/www/wwwroot/xxx.xxxxxx.com"
  15. #码云项目 git 网址
  16. gitHttp="git@gitee.com:xxxxxx/xxx.xxxxxx.com.git"

  17. echo "路径:$gitPath"

  18. #判断项目路径是否存在
  19. if [ -d "$gitPath" ];
  20. then
  21.         cd $gitPath
  22.         #判断是否存在git目录
  23.         if [ ! -d ".git" ];
  24.         then
  25.                 echo "在该目录下克隆 git"
  26.                 git clone $gitHttp gittemp
  27.                 mv gittemp/.git .
  28.                 rm -rf gittemp
  29.         fi
  30.         #拉取最新的项目文件
  31.         git reset --hard origin/master
  32. #git clean -f
  33.         git pull origin master
  34.         echo "拉取完成"
  35.         #执行npm
  36.         #执行编译
  37.         #npm run build
  38.         #设置目录权限
  39.         chown -R www:www $gitPath
  40.         echo "-------结束--------"
  41.         exit
  42. else
  43.         echo "该项目路径不存在"
  44.         echo "-------结束-------"
  45.         exit
  46. fi
复制代码
码云配置完webhooks后测没问题. push后都正常. 宝塔上根本没有执行shell脚本pull码云代码.
求大佬解答.
使用道具 举报 只看该作者 回复
发表于 2021-11-24 10:42:02 | 显示全部楼层
大炮运维V587 发表于 2021-11-24 09:44
点测试有什么返回值吗?

好了
修改了几个地方
宝塔初次clone码云代码时我clone的https的地址 要用SSH地址
密钥生成
使用道具 举报 回复 支持 反对
发表于 2021-11-23 17:15:18 | 显示全部楼层
有什么提示吗?另外你这个执行权限看起来是需要root权限的
使用道具 举报 回复 支持 反对
发表于 2021-11-23 17:25:00 | 显示全部楼层
本帖最后由 野鬼 于 2021-11-23 18:27 编辑
大炮运维V587 发表于 2021-11-23 17:15
有什么提示吗?另外你这个执行权限看起来是需要root权限的

没有提示 如果是权限问题需要怎么修改呢?
我是私有仓库
使用道具 举报 回复 支持 反对
发表于 2021-11-23 17:27:43 | 显示全部楼层
大炮运维V587 发表于 2021-11-23 17:15
有什么提示吗?另外你这个执行权限看起来是需要root权限的

11111.png
本地 push 代码到码云后 码云代码更新成功 宝塔上webhooks 调用次数根本没增加.

使用道具 举报 回复 支持 反对
发表于 2021-11-24 09:44:58 | 显示全部楼层
野鬼 发表于 2021-11-23 17:27
本地 push 代码到码云后 码云代码更新成功 宝塔上webhooks 调用次数根本没增加.

...

点测试有什么返回值吗?
使用道具 举报 回复 支持 反对
发表于 2021-11-24 11:11:43 | 显示全部楼层
野鬼 发表于 2021-11-24 10:42
好了
修改了几个地方
宝塔初次clone码云代码时我clone的https的地址 要用SSH地址

建议大佬详细分享下 教程,这样可以帮助更多人!
使用道具 举报 回复 支持 反对
发表于 2021-11-24 12:03:05 | 显示全部楼层
大炮运维V587 发表于 2021-11-24 11:11
建议大佬详细分享下 教程,这样可以帮助更多人!

111.png

我发帖不让我发

使用道具 举报 回复 支持 反对
发表于 2022-9-23 23:33:49 | 显示全部楼层
大炮运维V587 发表于 2021-11-23 17:15
有什么提示吗?另外你这个执行权限看起来是需要root权限的

#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "-------结束-------"
exit
fi
#服务器 git 项目路径
gitPath="/www/wwwroot/$1"
#码云项目 git 网址
gitHttp="git@gitee.com:cao-hngbo/api.git"

echo "路径:$gitPath"

#判断项目路径是否存在
if [ -d "$gitPath" ];
then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ];
then
echo "在该目录下克隆 git"
git clone $gitHttp gittemp
mv gittemp/.git .
rm -rf gittemp
fi
#拉取最新的项目文件
git reset --hard origin/master
#git clean -f
git pull origin master
echo "拉取完成"
#执行npm
#执行编译
#npm run build
    #设置目录权限
chown -R www:www $gitPath
   echo "-------结束--------"
exit
else
echo "该项目路径不存在"
echo "-------结束-------"
exit
fi



为什么我这个也是跑不起来,gitee那边也配置好了,每次这边日志只能打印一个开始,后面的都没执行
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表