こんにちは、ニジボックスで「テクニカルディレクター」と自称しているtack.saitoです。
Androidアプリ開発しているのですが、現在のプロジェクトでは確認用にデプロイゲートを使用しています。
エンジニアにはアップロード作業で時間を潰すより、有意義な時間を使って欲しい。
そして、自動化しすぎると、あんまり見せたくないタイミングで上がってしまう。。。
というか、githubを自由に使えなかったり...
そうだ!!
・git pull
・clean build
・DeployGate API叩く
っていう3本立てを自動でやるコマンド作っておこう!
まずは確認させてから、始めよう。
function confirm () {
echo $1
read answer
case `echo $answer | tr y Y` in
Y*)
;;
*)
echo "Bye."
exit
;;
esac
}
confirm "Is it OK to deploy? [y/n]"
git pull
./gradlew clean
あ、このshファイルはプロジェクトの直下に置いてます。
dg deploy コマンド
ぼく知らなかったのですが、DeployGateにコマンドラインツールがあった!!
APIとか叩かなくていいんだ!!
これ使うよ!!!
(rubyのversion足りなくて、あげたよ)
メッセージのオプションがあるので、shに引数でメッセージ渡そう、そうしよう。
# 続き
if [ "$1" != "" ]
then
message=$1
else
echo "引数でメッセージを入れてね"
exit
fi
expect -c "
set timeout 10
spawn dg deploy --message $message
expect \"Please choose a task to run: \"
send \"1\n\"
interact
"
taskが2つあって、
・1がデバッグビルド
・2がリリースビルド?
っぽいので1を選択させときます。
そして、コマンドラインで
$ sh auto-build.sh コメント入れちゃうよ〜〜〜
ふぁ〜〜!素敵!
これで、僕は僕で有意義な時間を。
エンジニアはエンジニアで有意義な時間を。
確認者は確認者で有意義な時間を。
みんなハッピー!!