停止 Dependabot PR 上的 Vercel 预览部署

Mát*_*tal 6 git deployment bash github vercel

我想阻止Verceldependentabot 拉取请求创建预览部署

在 Vercel 中,在忽略的构建步骤中我尝试过以下操作:

bash vercel.sh
Run Code Online (Sandbox Code Playgroud)

在我的存储库中,vercel.sh 文件如下所示:

#!/bin/bash

echo "VERCEL_ENV: $VERCEL_ENV"

# check branch name
BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "BRANCH: $BRANCH"

# check if branch name does not contain "Bump" (every dependabot PR starts with this)
if [[ $BRANCH != *"Bump"* ]]; then
  exit 1
fi

exit 0
Run Code Online (Sandbox Code Playgroud)

我缺少什么?部署仍然进行。

还尝试将此权利写入忽略的构建步骤

if [ "$VERCEL_GIT_COMMIT_AUTHOR_LOGIN" == "dependabot" ]; then exit 0; else exit 1; fi
Run Code Online (Sandbox Code Playgroud)

仍然创建了部署。

也尝试过这个方法

if (process.env.VERCEL_GIT_COMMIT_AUTHOR_LOGIN === "dependabot") {
  process.exit(0);
} else {
  process. Exit(1);
}
Run Code Online (Sandbox Code Playgroud)

然后像Ignored Build Stepnode ignore-nuild.js中那样调用它,但这也没有帮助。

更新

我的错,这是“dependabot[bot]”,而不仅仅是“dependabot”。

Von*_*onC 1

首先,始终用引号括住要回显的变量。这样,您就可以捕捉到可能影响其价值的隐形空间:

echo "BRANCH: '${BRANCH}'"
             ^^^       ^^^
Run Code Online (Sandbox Code Playgroud)

其次,您可以echo在退出之前添加,以区分您何时exit 1退出exit 0

echo "BRANCH: '${BRANCH}'"
             ^^^       ^^^
Run Code Online (Sandbox Code Playgroud)

第三,你可以尝试,进行测试:

if [[ "${BRANCH#Bump}" != "${BRANCH}" ]]; then ...
Run Code Online (Sandbox Code Playgroud)

如果$BRANCH以 开头Bump,则条件为真。


OP 建议:

echo "continue"
exit 0
Run Code Online (Sandbox Code Playgroud)