182 lines
4.4 KiB
YAML
182 lines
4.4 KiB
YAML
---
|
|
format_version: '8'
|
|
default_step_lib_source: 'https://github.com/bitrise-io/bitrise-steplib.git'
|
|
project_type: react-native
|
|
trigger_map:
|
|
- push_branch: main
|
|
workflow: primary
|
|
- pull_request_source_branch: '*'
|
|
workflow: primary
|
|
workflows:
|
|
deploy:
|
|
description: >
|
|
## Configure Android part of the deploy workflow
|
|
|
|
|
|
To generate a signed APK:
|
|
|
|
|
|
1. Open the **Workflow** tab of your project on Bitrise.io
|
|
|
|
1. Add **Sign APK step right after Android Build step**
|
|
|
|
1. Click on **Code Signing** tab
|
|
|
|
1. Find the **ANDROID KEYSTORE FILE** section
|
|
|
|
1. Click or drop your file on the upload file field
|
|
|
|
1. Fill the displayed 3 input fields:
|
|
|
|
1. **Keystore password**
|
|
|
|
1. **Keystore alias**
|
|
|
|
1. **Private key password**
|
|
|
|
1. Click on **[Save metadata]** button
|
|
|
|
|
|
That's it! From now on, **Sign APK** step will receive your uploaded
|
|
files.
|
|
|
|
|
|
## Configure iOS part of the deploy workflow
|
|
|
|
|
|
To generate IPA:
|
|
|
|
|
|
1. Open the **Workflow** tab of your project on Bitrise.io
|
|
|
|
1. Click on **Code Signing** tab
|
|
|
|
1. Find the **PROVISIONING PROFILE** section
|
|
|
|
1. Click or drop your file on the upload file field
|
|
|
|
1. Find the **CODE SIGNING IDENTITY** section
|
|
|
|
1. Click or drop your file on the upload file field
|
|
|
|
1. Click on **Workflows** tab
|
|
|
|
1. Select deploy workflow
|
|
|
|
1. Select **Xcode Archive & Export for iOS** step
|
|
|
|
1. Open **Force Build Settings** input group
|
|
|
|
1. Specify codesign settings
|
|
|
|
Set **Force code signing with Development Team**, **Force code signing
|
|
with Code Signing Identity**
|
|
|
|
and **Force code signing with Provisioning Profile** inputs regarding to
|
|
the uploaded codesigning files
|
|
|
|
1. Specify manual codesign style
|
|
|
|
If the codesigning files, are generated manually on the Apple Developer
|
|
Portal,
|
|
|
|
you need to explicitly specify to use manual coedsign settings
|
|
|
|
(as ejected rn projects have xcode managed codesigning turned on).
|
|
|
|
To do so, add 'CODE_SIGN_STYLE="Manual"' to 'Additional options for
|
|
xcodebuild call' input
|
|
|
|
|
|
## To run this workflow
|
|
|
|
|
|
If you want to run this workflow manually:
|
|
|
|
|
|
1. Open the app's build list page
|
|
|
|
2. Click on **[Start/Schedule a Build]** button
|
|
|
|
3. Select **deploy** in **Workflow** dropdown input
|
|
|
|
4. Click **[Start Build]** button
|
|
|
|
|
|
Or if you need this workflow to be started by a GIT event:
|
|
|
|
|
|
1. Click on **Triggers** tab
|
|
|
|
2. Setup your desired event (push/tag/pull) and select **deploy** workflow
|
|
|
|
3. Click on **[Done]** and then **[Save]** buttons
|
|
|
|
|
|
The next change in your repository that matches any of your trigger map
|
|
event will start **deploy** workflow.
|
|
steps:
|
|
- activate-ssh-key@4:
|
|
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
|
|
- git-clone@4: {}
|
|
- script@1:
|
|
title: Do anything with Script step
|
|
- yarn@0:
|
|
inputs:
|
|
- workdir: packages/app
|
|
- command: install
|
|
- install-missing-android-tools@2:
|
|
inputs:
|
|
- gradlew_path: $PROJECT_LOCATION/gradlew
|
|
- android-build@0:
|
|
inputs:
|
|
- project_location: $PROJECT_LOCATION
|
|
- certificate-and-profile-installer@1: {}
|
|
- recreate-user-schemes@1:
|
|
inputs:
|
|
- project_path: $BITRISE_PROJECT_PATH
|
|
- cocoapods-install@2: {}
|
|
- xcode-archive@3:
|
|
inputs:
|
|
- project_path: $BITRISE_PROJECT_PATH
|
|
- scheme: $BITRISE_SCHEME
|
|
- export_method: $BITRISE_EXPORT_METHOD
|
|
- configuration: Release
|
|
- deploy-to-bitrise-io@1: {}
|
|
primary:
|
|
steps:
|
|
- activate-ssh-key@4:
|
|
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
|
|
- git-clone@4: {}
|
|
- script@1:
|
|
title: Do anything with Script step
|
|
- yarn@0:
|
|
inputs:
|
|
- workdir: packages/app
|
|
- command: install
|
|
- yarn@0:
|
|
inputs:
|
|
- workdir: packages/app
|
|
- command: test
|
|
- deploy-to-bitrise-io@1: {}
|
|
description: Build and deploy
|
|
app:
|
|
envs:
|
|
- opts:
|
|
is_expand: false
|
|
PROJECT_LOCATION: packages/app/android
|
|
- opts:
|
|
is_expand: false
|
|
MODULE: app
|
|
- opts:
|
|
is_expand: false
|
|
VARIANT: debug
|
|
- opts:
|
|
is_expand: false
|
|
BITRISE_PROJECT_PATH: packages/app/ios/app.xcworkspace
|
|
- opts:
|
|
is_expand: false
|
|
BITRISE_SCHEME: app
|
|
- opts:
|
|
is_expand: false
|
|
BITRISE_EXPORT_METHOD: ad-hoc |