0

最初にログインせずに heroku コマンドを実行するにはどうすればよいですか?

すでに .netrc ファイルを ~ に入れようとしましたが、うまくいきませんでした。手動の介入を必要とせずに heroku の実行を開始できるようにするために使用できる環境変数またはコマンドラインのものはありますか?

いくつかの 1 回限りの heroku ワーカーがあり、nagios を使用して、それらが起動してコマンドを受け入れているかどうかを確認しようとしています。

このマシンで正しいユーザーとして手動で heroku にログインした後にこのスクリプトを実行すると、機能します。私がしていない場合、そうではありません。また、完全に自動化されたインスタンスのセットアップと構成の完璧な世界を実現しようとしているため、heroku が問題になりつつあります。

私が知る限り (私は heroku の担当者ではなく、heroku の担当者もよくわかっていないことに注意してください)、netrc ファイルの設定は機能するはずですが、heroku によって消去され続けます。彼らがこれをサポートしていると信じなければなりません。

スクリプトは次のとおりです。

# Check for two or more workers up for each of our heroku apps. 

HEROKU_APPS=$(heroku apps | grep -v '^=') 

exit_status=0 

for app in $HEROKU_APPS; do 
    workers_up=$(heroku ps --app=$app | grep -c 'web\.[12]: up') 
    if [ 1 -eq $workers_up ]; then 
        exit_status=1 
    elif [ 0 -eq $workers_up ]; then 
        exit_status=2 
        exit $exit_status 
    fi 
done 

exit $exit_status

/また、nagios をハッキングして heroku が起動しているかどうかをチェックしようとする私たちがばかである可能性があることも認めます。これに対するより良い(無料でシンプルな)解決策はありますか?

4

1 に答える 1

0

expectたとえば、次のように、ニーズに合ったものを使用できます。

expect -c 'spawn ssh me@host; expect assword; send "password\n"; interact'

が起動し、コンソールに出力されるのsshを待ちます。asswordその時点で文字列が送信passwordされます。herokuしたがって、資格情報を求められたときに何が印刷されるかを理解する必要があります。

于 2013-07-03T23:28:47.710 に答える