簡體   English   中英

在 Dependabot PR 上停止 Vercel 預覽部署

[英]Stop Vercel preview deployments on Dependabot PRs

我想阻止Verceldependabot 拉取請求創建預覽部署

在 Vercel 的Ignored Build Step中,我試過這個:

bash vercel.sh

在我的倉庫中,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

我錯過了什么? 部署仍然進行。

還嘗試將此權利寫入Ignored Build Step

if [ "$VERCEL_GIT_COMMIT_AUTHOR_LOGIN" == "dependabot" ]; then exit 0; else exit 1; fi

仍然創建部署。

也這樣試過

if (process.env.VERCEL_GIT_COMMIT_AUTHOR_LOGIN === "dependabot") {
  process.exit(0);
} else {
  process. Exit(1);
}

然后在Ignored Build Step中像node ignore-nuild.js一樣調用它,但這也沒有幫助。

更新

糟糕的是,它是“dependabot[bot]”,而不僅僅是“dependabot”。

首先,始終用引號括起要回顯的變量。 這樣,您就可以捕捉到可能會影響其價值的無形空間:

echo "BRANCH: '${BRANCH}'"
             ^^^       ^^^

其次,您可以在退出前添加echo ,以區分exit 1exit 0的時間。

echo "continue"
exit 0

第三,您可以嘗試進行測試:

if [[ "${BRANCH#Bump}" != "${BRANCH}" ]]; then ...

如果$BRANCHBump開頭,則條件為真。


OP 建議:

if (process.env.VERCEL_GIT_COMMIT_AUTHOR_LOGIN === "dependabot[bot]") {
  process.exit(0);
} else {
  process. Exit(1);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM