前節
AWSでDjangoの開発をしようにもなぜか動かない
nodejsとかならfirebaseとかもあるかもしれないけど
Djangoを勉強してしまった僕にとっては例え無料プランがなくなろうともherokuからは逃げられない
せっかくだからアドベントカレンダー書いてみようと思ったらあったのでついでにあげてみた
本題
最近bashScriptを知りその素晴らしさに感嘆した
使ってれば覚ええるじゃんといわれても覚えるまでが面倒なのだ
ということで開発しているにあたり大体使うherokuCliをbashスクリプトとして組み込み少しの楽と調べる時間を短縮した
使う人はいないと思うがもしいれば,
debugApp="debug"
productApp="product"
の部分を自分のアプリの名前にすればいいと思います
顔文字はご愛嬌
if [ "$1" = '-h' ]; then
echo
echo \#\#\# -m : 本番環境
echo \#\#\# -d : for debug app
echo \#\#\#
echo \#\#\# manage : その先も含めた "manage.py"
echo \#\#\# on : メンテナンスモード on
echo \#\#\# off : メンテナンスモード off
echo \#\#\# log : リアルタイムlogの表示
echo \#\#\# push : 今のbranchをpush
echo \#\#\# reset : dbリセット
echo \#\#\# bash : bashの表示
echo \#\#\# merge : -dのみ developへマージ
echo \#\#\# copy : 本番からdebug用へdbのcopy
exit 0
elif [ "$1" = '' ] || [ "$2" = '' ]; then # 入れ忘れ
echo -h to helop
echo "(*'-')"
exit 0
fi
debugApp="debug"
productApp="product"
if [ $1 = '-m' ]; then
app=$productApp
elif [ $1 = '-d' ]; then
app=$debugApp
fi
if [ $2 = 'manage' ]; then
comd="heroku run python manage.py $2 $3 $4 $5 -a=$app"
elif [ $2 = 'on' ]; then
comd="heroku maintenance:on -a=$app"
elif [ $2 = 'off' ]; then
comd="heroku maintenance:off -a=$app"
elif [ $2 = 'log' ]; then
comd="heroku logs -t -a=$app"
elif [ $2 = 'push' ]; then
===
branch=`git rev-parse --abbrev-ref HEAD`||exit
comd="git push heroku_dev $branch:master $3"
# comd="git push heroku_dev for_winter_onetime:master"
elif [ $2 = 'reset' ]; then # dbのリセット用
echo -n dbを削除します, 良ければ'yes'を入力:
read str
if [ str = 'yes' ]; then
echo delete
heroku pg:reset -a=$debugApp
fi
return 0
elif [ $2 = 'bash' ]; then # bash
comd="heroku run bash -a=$app"
elif [ $2 = 'merge' ]; then # bash
if [ $1 = "-m"]; then
return 0
fi
branch=`git rev-parse --abbrev-ref HEAD`||exit
git checkout develop
comd="git merge $branch"
elif [ $2 = 'copy' ]; then # bash
comd="heroku pg:copy $productApp::DATABASE_URL DATABASE_URL -a $debugApp"
else
comd="heroku $2 $3 $4 $5 $6 $7 -a=$app"
fi
echo "$comd"
read -p 'ok? (*`・ω・)ゞ (enter): ' yn
case "$yn" in
"") $comd ;;
*) echo "(´・ω・`)ノo >bye"
exit
;;
esac
終わりに
ゆうて本番で使っちゃだめらしいね
AWS勉強しよ
(´・ω・`)ノo