宝塔面板配置webhook,自动拉取码云代码

本文介绍如何使用宝塔面板安装并配置Webhook来自动更新服务器上的项目代码。包括安装Webhook、添加脚本、配置Git路径及仓库地址、设置云效Webhook等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 安装webhook

        宝塔面板搜索webhook,点击安装,如下图 

2.添加脚本:安装完成--点击设置--添加(如下),名称自起,脚本如下代码(复制修改即可),注意:需要改两个地方,一个是项目路径(我的是/www/wwwroot),一个是git网址(我的是阿里云效,改成自己的,比如码云的是git@gitee.com),具体位置在14和16行。设置完成点提交即可。

 

#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
#服务器 git 项目路径
gitPath="/www/wwwroot/$1"
#项目 git 网址
gitHttp="git@codeup.aliyun.com:sgrh/$1.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 "End"
exit
fi

3.码云、github、阿里云云效等webhook配置;点击查看密钥,即可看到如下,把下面的链接http://****&param=aaa,复制此链接到码云、github、阿里云效的webhook设置的地方(第4步),此处的aaa更改为你服务器项目的名称即可。

 

4.配置云效:填入第三步获取的相关内容即可。==然后提交代码测试一下,或者查看宝塔webhook的日志。

 

### 从码(Gitee)代码并上传至Docker镜像仓库 #### 准备工作 确保环境已安装必要的工具和服务,如 Git 和 Docker。对于已有系统的清理操作可以通过特定命令完成[^4]。 #### 获取代码库 为了使新加入团队的成员能够参与项目开发,在其获得相应权限后,需先将远程仓库中的所有文件克隆到本地环境中。这一步骤可通过执行 `git clone` 命令来达成目的[^2]: ```bash git clone https://gitee.com/your-repo-name.git cd your-repo-name ``` #### 构建Docker镜像 当拥有完整的源代码副本之后,可以根据项目的具体需求编写或调整现有的 Dockerfile 文件用于定义容器化应用程序所需的运行环境。接着利用该文件创建自定义镜像: ```bash docker build -t your-image-name . ``` 此过程会依据当前目录下的 Dockerfile 来组装所需资源,并最终形成一个新的 Docker 镜像实例。 #### 推送镜像至私有仓库 为了让其他同事也能轻松获取最新版本的应用程序及其依赖项,应当考虑将构建好的镜像发布到内部使用的镜像存储中心——即所谓的“私有仓库”。在此之前可能还需要登录对应的注册表服务提供商账号以验证身份合法性: ```bash docker login --username=YOUR_HUB_USER registry.cn-hangzhou.aliyuncs.com docker tag your-image-name registry.cn-hangzhou.aliyuncs.com/namespace/your-image-name:latest docker push registry.cn-hangzhou.aliyuncs.com/namespace/your-image-name:latest ``` 上述脚本展示了如何标记、认证以及推送个人制作的镜像对象给阿里所提供的公共镜像站;当然也可以替换为目标平台所支持的形式,比如华为等服务商提供的类似设施[^3]。 #### 自动化流程设置 考虑到持续集成的需求,建议进一步探索自动化手段简化日常运维任务。例如借助 Jenkins CI 工具链配合 Webhook 实现每当检测到来自分发服务器上的变更通知时便能立即启动新一轮打包作业,从而保持生产环境始终处于最佳状态[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值