ブランチ名に@マークがあるとZeit NowのGithub連携Deployに失敗する

Published by @SoNiceInfo at 4/5/2020


Zeit NowとGithubを連携させるとGithubにレポジトリをPushするだけでBuildしてくれてDelployしてくれます。
しかしブランチ名に@developのように@マークがあるとGithub連携でのDeployが失敗します。

エラー内容

Github連携のBuildに失敗する様子
Environment Variable "NOW_GITHUB_COMMIT_REF" references Secret "develop", which was deleted. Remove the Environment Variable or add the Secret again.

エラー内容を日本語にすると、「NOW_GITHUB_COMMIT_REFという環境変数が、削除されたSecret: "develop"を参照している。環境変数を削除するか、Secretを再度追加してください。」という内容です。
ZEITのドキュメントによるとNOW_GITHUB_COMMIT_REFはDeploy処理を走らせるブランチ名が入ってきます。

`NOW_GITHUB_COMMIT_REF` The branch that the deployment was made from.
ブランチ名に@マークを使われていてもZeit Now側ではブランチ名が@マークが使われていない名前で認識されると考えられます。

nowコマンドでのDeployは成功する

USERNAME@Device|~/PATH/TO/PROJECT on @develop
> now
Now CLI 17.1.1
🔍  Inspect: https://zeit.co/USERNAME/PROJECT/47g0j12fz [3s]
✅  Preview: https://PROJECT.USERNAME.now.sh [copied to clipboard] [26s]
📝  To deploy to production (USERNAME.com +1), run `now --prod`
📝  Project settings are not applied because `builds` are used.

CLIでnowコマンドを使ってDeployする場合はなんともなく成功します。

対応策

対応策は2つあります。(Zeit NowとGithubの連携の詳細はわからないので対処処置となりますが。。。)

  1. ブランチ名に@マークをつけない
  2. nowコマンドを利用する

個人的にはブランチ名に「1. ブランチ名に@マーク」をつけないようにしました。
@マークをつけたままだとmasterへmergeするときに❌が残っていて気持ち悪いです。