`now alias` がおかしいので、正しく動作するシェルワンライナー
この記事は以下のような理由によりアーカイブされました。
- 内容が古くメンテナンスされていない
- 執筆者の以前の考えである
このページを投稿した2019年1月13日時点で一時的に必要になった為書いた記事でしたが、2020年1月21日現在では問題は修正されたようなのでアーカイブ化されました。
now alias
がおかしい
保存していたキャプチャがどっかいってしまったので曖昧ですが、now2からnow alias
でargument ...
みたいなエラーになりnow alias <url> <alias>
でやらないと効かなくなってしまいました。
その後、https://github.com/zeit/now-cli/issues/1701こういうものができたのでyarn global add now
で更新し、now alias
は治りましたが、対象のurl
が何故か古いものになってしまいます。
解決シェルワンライナー
これです。
now -n appname \
&& sh -c 'now ls appname | while read line; do if echo \"$line\" | grep \"appname-\" > /dev/null; then set $line; echo \"$2\"; break; fi; done;' | xargs -I@ now ln @ appname \
&& now rm appname --safe --yes
1行目
これはただデプロイしてるだけです。ちなみに-n
はアプリ名(appname
)を指定してます。
2行目
now ls appname
でこのアプリの全部のurlを含む詳細一覧を出します。その一覧を1行ずつ見ていってappname-
が含まれている部分が来たらそれが最新のurl
を含む行なので、そこからurl
を取り出しnow ln
へ渡します。
3行目
最後にデプロイしたもの以外(過去にデプロイした古いアプリ)を全部削除します。