3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NIJIBOXAdvent Calendar 2017

Day 7

git pullして、clean buildして、デプロイゲートに上げる話

Last updated at Posted at 2017-12-06

こんにちは、ニジボックスで「テクニカルディレクター」と自称しているtack.saitoです。

Androidアプリ開発しているのですが、現在のプロジェクトでは確認用にデプロイゲートを使用しています。

エンジニアにはアップロード作業で時間を潰すより、有意義な時間を使って欲しい。
そして、自動化しすぎると、あんまり見せたくないタイミングで上がってしまう。。。
というか、githubを自由に使えなかったり...

そうだ!!
・git pull
・clean build
・DeployGate API叩く
っていう3本立てを自動でやるコマンド作っておこう!

まずは確認させてから、始めよう。

deploy.sh
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に引数でメッセージ渡そう、そうしよう。

deploy.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 コメント入れちゃうよ〜〜〜

スクリーンショット 2017-12-01 20.57.29.png

ふぁ〜〜!素敵!

これで、僕は僕で有意義な時間を。
エンジニアはエンジニアで有意義な時間を。
確認者は確認者で有意義な時間を。

みんなハッピー!!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?