bitriseでビルドしてFabric配布してるが、ビルドしたIPAやdSYMファイルは一応とっておきたいので、「Deploy to Amazon S3」を使用してS3へアップロードを行っている。この際、S3へのアップロードするファイル名にビルドするiOSアプリのバージョンを付与する話。
##Scriptステップを追加
ワークフローエディタで「Deploy to Amazon S3」ステップの前に「Script」を追加して以下のようなフローに構成する
##バージョン情報を設定するスクリプトの追加
追加したら、ScriptステップのScript contentに以下を記述する
(Path/To/Info.plistの部分は適時書き換え)
#!/bin/bash
IPA_VERSION=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" Path/To/Info.plist`
IPA_BUILD=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" Path/To/Info.plist`
envman add --key IPA_VERSION --value $IPA_VERSION
envman add --key IPA_BUILD --value $IPA_BUILD
bitriseが提供しているenvmanというツールで設定すると、以降のステップからも参照できる。
##S3にアップロードされるファイル名を変更
「Deploy to Amazon S3」ステップのAmazon S3 File Path In Bucketを変更して、アップロード時のパス名を変更。
先のステップで設定したIPA_VERSION,IPA_BUILDを使用する。
${BITRISE_TRIGGERED_WORKFLOW_TITLE}/v${IPA_VERSION}_${IPA_BUILD}
上記の場合だと指定したバケットに、「bitrizeのワークフロー名/vバージョン名_ビルド番号」にIPAやdSYM,plistがアップされる