Gitee 流水线
Gitee 本身也支持流水线,在首次使用之前,我们需要开通 Gitee Go 的流水线功能。

Gitee Go 每个月会赠送 1000 分钟额度,对于个人用户来讲,可以满足大部分需求。开通后,就可以新建流水线了。

新建流水线时,需要选择模板,这里我以 Node.js 项目为例,选择 Node.js 项目模板。

然后选择 Node 版本,并配置构建命令。

接着设置打包目录,这里需要注意,需要设置成相对于项目根路径所在的打包目录。

然后,设置部署相关信息。在这里,我希望把打包后的产物推送到我自己的服务器上进行部署,因此,我设置了主机信息。

没有主机的话,需要先点击 "添加主机"(服务器需要能够访问公网)。






配置部署脚本。

APP_DIR="/usr/local/myapp/project/portal/athena"
BACKUP_NAME=""
echo "========== 开始构建:$(date '+%Y-%m-%d %H:%M:%S') =========="
echo "当前目录:$(pwd)"
cd "$APP_DIR" || { echo "无法进入 $APP_DIR"; exit 1; }
# 1. 备份
if [ -d "dist" ]; then
BACKUP_NAME="dist.$(date +%Y%m%d%H%M%S).bak"
mv dist "$BACKUP_NAME"
echo "生成备份文件:$BACKUP_NAME"
fi
# 2. 解压新包
echo "解压 gitee_ops_output.tar.gz ..."
tar -zxf gitee_ops_output.tar.gz
# 3. 验证解压结果
if [ ! -d "dist" ]; then
echo "解压后未找到 dist 目录!开始恢复备份..."
# 恢复备份
[ -n "$BACKUP_NAME" ] && mv "$BACKUP_NAME" dist
exit 1
fi
echo "部署成功,dist 目录已更新"
# 4. 健康检查(失败只告警,不中断脚本)
HTTP_CODE=$(curl -I -m 5 -s -o /dev/null -w "%{http_code}" daijunfeng.com)
TIME_TOTAL=$(curl -I -m 5 -s -o /dev/null -w "%{time_total}" daijunfeng.com)
if [ "$HTTP_CODE" = "200" ]; then
echo "服务正常!状态码:$HTTP_CODE,响应时间:${TIME_TOTAL}s"
else
echo "警告:服务异常!状态码:$HTTP_CODE,响应时间:${TIME_TOTAL}s"
echo "建议手动检查或回滚"
fi
echo "========== 构建完成 =========="
当然,我们也可以为每个阶段配置消息通知。


添加凭证:

提示
WebHook 消息内容支持 Markdown 语法,参考 钉钉Markdown。
最后,配置流水线的触发时机,然后点击右上角的保存即可。


保存后,会自动触发一次流水线。

配置流水线之后,代码仓库会多出一个 .workflow 目录,里面存放流水线配置文件。

如果配置了消息通知,那么流水线执行过程中,会自动发送消息给配置的接收人。

内置的消息可以在流水线中进行修改,可以配置需要发送哪些内置内容。
