FastlaneでReactNativeのデプロイを自動化する(android)
手動作業を自動化する
ReactNativeで作成したアプリを内部テストする際に、手動でGoogle play consoleに上げるところをFastlane
を使用し、自動化します。
ios版はこちら↓
FastlaneでReactNativeのデプロイを自動化する(ios)
注意点
ios版と違い、androidについては初めのデプロイを手動で実行する必要があります。
keystore
を作成し、internalにアプリをデプロイしたことを前提に話を進めます。
keystoreの作成について
基本的に下記公式ドキュメントに従えば良いですが、最後の作成の際のコマンドは下記を使用します。
Publishing to Google Play Store
cd android
./gradlew assembleRelease
google play consoleのapiの入手
下記公式ドキュメントに沿って(サービス アカウントを使用する)、json形式のapiを入手します。
https://developers.google.com/android-publisher/getting_started?hl=ja
jsonファイルをandroid/secure(新規作成)
直下に保存します。
fastlaneの設定
sudo gem install bundler
cd android
bundle init
sudo gem install bundler
cd android
bundle init
Gemfile
が作成されるので、下記を記述します。
gem "fastlane"
fastlaneをインストールします。
bundle update
次にfastlaneを初期化します。
bundle exec fastlane init
質問に対する回答
Package name -> android/app/build.gradle内にあるapplicationId
を入力
Path to the json -> secure/***.json
を入力
meta -> y
プラグインの導入
fastlane実行の際に、自動的にversion numberを上げるためにプラグインを導入します。
bundle exec fastlane add_plugin increment_version_code
Gemfile
に下記が自動的に記述されます。
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)
fastfileの編集
下記を記述します。
default_platform(:android)
platform :android do
// descは説明文ですので、任意の文を挿入
desc "submit internal release to Google Play Store"
// internalテストに関する記述
lane :internal do
# build.gradleファイルのversion numberを実行する度に上げる
increment_version_code(
gradle_file_path: "./app/build.gradle"
)
# apkファイルの設定
gradle(task: "assembleRelease")
# apkファイルの検索
supply(
track: "internal",
apk: "#{lane_context[SharedValues:: GRADLE_APK_OUTPUT_PATH]}"
)
end
// 以下は他のデプロイ先に関する記述です。
desc "submit alpha release to Google Play Store"
lane :alpha do
increment_version_code(
gradle_file_path: "./app/build.gradle"
)
gradle(task: "assembleRelease")
supply(
track: "alpha",
apk: "#{lane_context[SharedValues:: GRADLE_APK_OUTPUT_PATH]}"
)
end
desc "submit beta release to Google Play Store"
lane :beta do
increment_version_code(
gradle_file_path: "./app/build.gradle"
)
gradle(task: "assembleRelease")
supply(
track: "beta",
apk: "#{lane_context[SharedValues:: GRADLE_APK_OUTPUT_PATH]}"
)
end
desc "submit production release to Google Play Store"
lane :production do
increment_version_code(
gradle_file_path: "./app/build.gradle"
)
gradle(task: "assembleRelease")
supply(
track: "production",
apk: "#{lane_context[SharedValues:: GRADLE_APK_OUTPUT_PATH]}"
)
end
end
fastlaneの実行
bundle exec fastlane internal
bundle exec fastlane internal
実行後、google play console内にてアプリがデプロイされたことが確認できます。
alpha
beta
production
へのデプロイについても上記コマンドのinternal
を書き換えれば実行可能です。
Bitriseへ組み込む
CIツールのBitrise
を使用すると、githubにpushした際に自動的にfastlaneを実行することができます。
詳細は下記へ↓
FastlaneのコマンドをBitriseに組み込む(android,ReactNative)
Author And Source
この問題について(FastlaneでReactNativeのデプロイを自動化する(android)), 我々は、より多くの情報をここで見つけました https://qiita.com/kenkono/items/4b58f09eb5ffa177eeeb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .