15

ユーザー入力を必要とするコマンドを呼び出すシェル プロビジョニング スクリプトがありますが、コマンドを実行するvagrant provisionと、スクリプトのその時点でプロセスがハングします。コマンドが入力を待っているためです。これを回避する方法はありますか?つまり、スクリプトを強制的にインタラクティブ モードで実行する方法はありますか?

詳細は、クリーンな Ubuntu VM を作成し、Heroku CLI を呼び出してデータベース バックアップをダウンロードすることです (これは私のプロビジョニング スクリプトにあります)。

curl -o /tmp/db.backup `heroku pgbackups:url -a myapp`

ただし、これはクリーンな VM であり、Heroku CLI コマンドを実行するのはこれが初めてであるため、ログイン資格情報の入力を求められます。スクリプトは Vagrant によって管理されているため、インタラクティブなシェルが接続されていないため、スクリプトはそこでハングします。

4

2 に答える 2

2

資格情報をプレーンテキストでハードコーディングしたくないので、インタラクティブモードを強制しようとしていると思います。放浪者のプロビジョニングドキュメント( http://docs.vagrantup.com/v1/docs/provisioners/shell.html )にそのようなオプションが表示されないのと同じように、何らかの方法で認証を埋め込む必要があります脚本。トークンを取得して、CLI の代わりに heroku REST Api を使用するなどの方法を考えたことはありますか? https://devcenter.heroku.com/articles/authentication

于 2013-01-30T05:51:16.537 に答える