Android/iOSアプリを Azure Pipelines から DeployGate に配信する - Qiita の続き。スクリプトを汎用化した。
Pipelines のタスクに Bash を追加して、こんな感じで設定。
Script の内容
↓をコピペで。
TOKEN="$deploygate_token"
DEPLOYGATE_USER="$deploygate_user"
APK_DIR="$deploygate_apk_dir"
APK_FILTER="$deploygate_apk_filter"
MESSAGE="$deploygate_message"
echo "DEPLOYGATE_USER=$DEPLOYGATE_USER"
echo "APK_DIR=$APK_DIR"
echo "APK_FILTER=$APK_FILTER"
echo "MESSAGE=$MESSAGE"
FILES=$(find $APK_DIR -name $APK_FILTER -type f)
for f in ${FILES[@]}
do
    echo "APK_PATH=$f"
    curl \
      -F "token=$TOKEN" \
      -F "file=@$f" \
      -F "message=$MESSAGE" \
"https://deploygate.com/api/users/${DEPLOYGATE_USER}/apps"
    break
done
Environment Variables
- deploygate_token - DeployGate の APIキー
- deploygate_user - DeployGate の ユーザーID
- deploygate_apk_dir - DeployGate に配信する APK が出力されたディレクトリ。普通は $(build.binariesdirectory)/$(BuildConfiguration)。
- deploygate_apk_filter - deploygate_apk_dirの中から APK を見つけるためのフィルタ。なので*.apkでいいはず。
- deploygate_message − DeployGate の配信バージョンにつけるコメント。By Azure Pipelines $(Build.BuildId) - $(Build.SourceVersionMessage)としておくと、良い感じに Azure Pipelines のビルド番号と最終コミットメッセージが伝搬される。
次の Ver.3 は iOS との共通化を図る予定。
