Slide 1

Slide 1 text

The Final Push Deploying React Native @amhinson Alex Hinson AIRSHIP AIRSHIP

Slide 2

Slide 2 text

@amhinson ???

Slide 3

Slide 3 text

@amhinson App Store & Google Play Store Releases Production builds Code Signing Device testing User testing Multiple environments Over-The-Air updates

Slide 4

Slide 4 text

@amhinson Bump build and version numbers

Slide 5

Slide 5 text

@amhinson // Info.plist CFBundleVersion 2 CFBundleShortVersionString 1.0.1 // ... // build.gradle defaultConfig { versionCode 2 versionName “1.0.1" // ... }

Slide 6

Slide 6 text

@amhinson Bump build and version numbers Change environment variables

Slide 7

Slide 7 text

@amhinson // baseURL: 'http://localhost:5000', // DEV // baseURL: 'http://api-staging.puregame.com', // STAGING baseURL: 'http://api.puregame.com', // PROD

Slide 8

Slide 8 text

@amhinson Bump build and version numbers Change environment variables Create production builds 
 & setup code signing

Slide 9

Slide 9 text

@amhinson

Slide 10

Slide 10 text

@amhinson Bump build and version numbers Change environment variables Create production builds 
 & setup code signing Upload builds

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

@amhinson Bump build and version numbers Change environment variables Create production builds 
 & setup code signing Upload builds Distribute to testers

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

@amhinson Bump build and version numbers Change environment variables Create production builds 
 & setup code signing Upload builds Distribute to testers Submit production app

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

@amhinson Bump build and version numbers Change environment variables Create production builds 
 & setup code signing Upload builds Distribute to testers Submit production app

Slide 17

Slide 17 text

@amhinson Manual process Environments Managing test users Run tests Multi-device testing OTA updates

Slide 18

Slide 18 text

@amhinson Automation Options

Slide 19

Slide 19 text

@amhinson App Center appcenter.ms

Slide 20

Slide 20 text

App Center

Slide 21

Slide 21 text

App Center

Slide 22

Slide 22 text

App Center

Slide 23

Slide 23 text

@amhinson Downsides “Freemium” business model Limited configuration options Slow build times

Slide 24

Slide 24 text

@amhinson Good Use-Cases No time to worry about smaller details Basic project setup Not very familiar with native 
 builds/deployments User testing is important

Slide 25

Slide 25 text

@amhinson Bitrise bitrise.io

Slide 26

Slide 26 text

Bitrise Screenshot of workflow editor

Slide 27

Slide 27 text

Bitrise Screenshot of scrolling through integrations

Slide 28

Slide 28 text

@amhinson Downsides “Freemium” business model Requires basic knowledge of native builds/deployments No beta testing service built-in

Slide 29

Slide 29 text

@amhinson Good Use-Cases Unique build/deployment setup No time to worry about smaller details & issues Somewhat familiar with native builds/deployments

Slide 30

Slide 30 text

Fastlane fastlane.tools

Slide 31

Slide 31 text

Fastlane fastlane release platform :ios do desc "Deploys a new version to the App Store" lane :release do increment_build_number commit_version_bump match(app_identifier: “com.puregame.mobile”, type: "appstore") gym(configuration: "Release") deliver(force: true) end end

Slide 32

Slide 32 text

@amhinson Fastlane

Slide 33

Slide 33 text

@amhinson Downsides Run in local machine No visual UI Requires decent knowledge of 
 native builds/deployments Match code signing can be confusing Environment variables are difficult No beta testing service built-in

Slide 34

Slide 34 text

@amhinson Good Use-Cases Individual with a unique deployment workflow Working on one app No staging/beta environment

Slide 35

Slide 35 text

@amhinson Fastlane / CircleCI fastlane.tools circleci.com

Slide 36

Slide 36 text

@amhinson Downsides Requires decent knowledge of native builds/deployments 
 as well as Circle CI

Slide 37

Slide 37 text

@amhinson Good Use-Cases Familiar with mobile builds/ deployments Working on a small number of apps Need granular control over 
 builds/deployments in every aspect

Slide 38

Slide 38 text

@amhinson Deploying React Native App Center Bitrise Fastlane / CircleCI

Slide 39

Slide 39 text

Thanks Slides: bit.ly/cc-deploy-react-native @amhinson Twitter / Github AIRSHIP AIRSHIP

Slide 40

Slide 40 text

No content