@interaktiv/traveling-fastlane
v2.0.2
Published
A package with ruby and gem dependency to fastlane and some DIA specific scripts
Downloads
27
Readme
@interaktiv/traveling-fastlane
A package with ruby and gem dependency to fastlane and some DIA specific scripts.
This Solution
A package with ruby and gem dependency to fastlane and some DIA specific scripts.
Table of Contents
Prerequisites
You need to have
installed on your machine.
Installation
This module can be installed via npm which is bundled with Node.js and should be installed as one of your project's dependencies:
npm install --save @interaktiv/traveling-fastlane
The module will install all ruby gem dependencies e.g. fastlane
on package
installation via ruby
and bundler
from your machine on package. Therefore
please see the Prerequisites section of this file.
The gem dependencies are installed into the npm package
directory not your
system default location. This should ensure that the tested and specified
versions of the deps are used.
Usage
The package has some fastlane related ruby scripts pre-packaged and exposes different methods to use them in your CLI or CI scripts.
Following scripts are provided:
authenticate.rb
Authenticate with the Apple Developer Portal
travelingFastlane.authenticate
Args:
$0: appleId
$1: appleIdPassword
ensure-app-exists.rb
Create iOS App in Developer Portal if not already done
travelingFastlane.ensureAppExists
Args:
$0: appleId
$1: teamId
$2: bundleId
$3: name
find-app-on-asc.rb
Find App on App Store Connect
travelingFastlane.findAppOnItc
Args:
$0: appleId
$1: bundleIdentifier
find-app-on-portal.rb
Find App on Apple Developer Portal
travelingFastlane.findAppOnPortal
Args:
$0: appleId
$1: bundleIdentifier
get-android-app-versions.rb
Get Android Version Codes
travelingFastlane.getAndroidAppVersionCodes
Args:
$0: packageName
$1: jsonKey
$2: track
$3: supplyFile
- optional
get-asc-teams.rb
Get Account Teams from the App Store Connect
travelingFastlane.getItcTeams
Args:
$0: appleId
$1: appleIdPassword
get-cert-action-password.rb
Get Match / Flint password from Keychain through fastlane CredentialsManager
travelingFastlane.getCertActionPassword
Args:
$0: action
one of [match
|flint
]$1: askIfMissing
- optional defaults totrue
get-ios-app-version.rb
Get iOS App Version and Build Number
travelingFastlane.getiOSAppVersions
Args:
$0: appleId
$1: bundleIdentifier
$3: live
- optional Get live instead of latest version, defaults tofalse
API
You can run this scripts by either using the build in method runAction
like:
import { travelingFastlane, runAction } from '@interaktiv/traveling-fastlane';
const args = ['MY_APPLE_ID', 'MY_APPLE_ID_PASSWORD'];
await runAction(travelingFastlane.authenticate, args);
or by using a custom command executor like:
import { travelingFastlane, runAction } from '@interaktiv/traveling-fastlane';
const args = ['MY_APPLE_ID', 'MY_APPLE_ID_PASSWORD'];
execa('ruby', [travelingFastlane.authenticate, ...args]);
For a custom command executor you need to resolve the path to your ruby correctly and pass the fastlane action as the first argument with additional arguments.
Other Use Cases
If you lack some use cases, you are welcome to open a pull request and add it. We'll come back to you and see how we can support your use case and present it to all devs.
Please consult the contribution guides before contributing.
Acknowledgements
This library is heavily inspired by @expo/traveling-fastlane-darwin . Thank you 💙
License
MIT Copyright © 2020-present die.interaktiven GmbH & Co. KG