Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/platanus/fastlane-cordova
https://github.com/platanus/fastlane-cordova
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/platanus/fastlane-cordova
- Owner: platanus
- Created: 2015-12-11T20:01:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-10T11:15:56.000Z (over 7 years ago)
- Last Synced: 2024-07-15T15:43:01.814Z (5 months ago)
- Language: Ruby
- Size: 25.4 KB
- Stars: 26
- Watchers: 14
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fastlane for Cordova
This is a collection of *lanes* and *actions* ment to streamline the
platanus workflow for app developemnt and deployment.## What is fastlane
From the fastlane [repository][fastlane-repo]
> fastlane lets you define and run your deployment pipelines for different
> environments. It helps you unify your apps release process and automate the
> whole process.## Getting started
You need to install the fastlane gem and setup your project to load the
fastlane-cordova collections into your projectgem install fastlane
In you app repository, add the fastlane configuration file
mkdir fastlane
touch fastlane/FastfileIn the `Fastfile` you need to import the `Fastfile` located in this repository
```ruby
# /fastlane/Fastfile# import from an online repository
import_from_git(url:"https://github.com/platanus/fastlane-cordova")# or
# import from a local checkout
# this is usefull for development
import "~/fastlane-cordova/fastlane/Fastfile"
```You'll need to add a `config.yml` with the base configuration.
```yaml
---
default: &default
apple_id: "[email protected]"
team_id: "35EKS95Z97"
certificates_url: "https://github.com/org/repo"stages:
staging:
<<: *defaultproduction:
<<: *default
```**Configuration options:**
- **stages** (required):
Is a map of stage specific configuration where the *key*
is the name of the stage- `apple_id` (required): The Apple ID account to use
- `team_id` (required): The apple developer team ID
- `certificates_url` (required):
The url where match will store and sync the certificates and
provitioning profiles.
> **NOTE:** You should use a different repository per account and team.## How to use it
Just run fastlane with the lane and options you want to use
fastlane ios [option_key:option_value,...]
1. Create the application and app ids in iTunes Connect and the developer
center with the `create` lane1. Then you should create the certificates and provisioning profiles running
the `certs` lane1. Then you should be able to deploy with the `deploy` lane
## Available lanes
### `create`
Creates app ids for each of the stages. The apps are created using the
information in the cordova `config.xml` file with a `stage` suffix.
It use the following values:| value | template | example |
| ------------ | ------------------------------ | ------------------------- |
| **App Id** | `.` | us.platan.madbill.staging |
| **App Name** | ` - ` | Madbill - Staging |> **Note**: If a stage is named **production**, the `app_id` and `app_name` are
> used as are defined in the `config.xml` without the `stage` suffix### `certs`
Create necessary profiles and certificates
It use [match][fastlane-match] and follows the
[code signing guide][codesigning-guide]### `deploy`
Deploy app to testflight or appstore. To deploy you need to specify
distribution type and the stage.```shell
fastlane ios deploy to: stage:# To deploy the staging app to the appstore
fastlane ios deploy to:appstore stage:staging
```- **distribution types**: `testflight` or `appstore`
- **stage**: the stages are defined in the `config.yml` file### `service`
Enable or disable services in the application.
```shell
fastlane ios service enable: disable:# To deploy enable push notifications
fastlane ios service enable:push-notification
```- **supported service types**:
- `healthkit` HealthKit
- `homekit` HomeKit
- `wireless-conf` Wireless Accessory Configuration
- `inter-app-audio` Inter-App-Audio
- `passbook` Passbook
- `push-notification` Push notification
- `vpn-conf` VPN ConfigurationWhen enabling `push-notification` the lane also creates a new certificate for
each stage and upload them to the SNS platform creating a new application.> **Important** You need to have a valid AWS credentials in your
> environment. `ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']`## Credits
Thank you [contributors](https://github.com/platanus/fastlane-cordova/graphs/contributors)!
fastlane-cordova is maintained by [platanus](http://platan.us).
## License
Potassium is © 2016 platanus, spa. It is free software and may be redistributed
under the terms specified in the LICENSE file.[fastlane-repo]: https://github.com/fastlane/fastlane
[fastlane-match]: https://github.com/fastlane/match
[codesigning-guide]: https://codesigning.guide