{"id":15046157,"url":"https://github.com/fivethree-team/ionic-fastlane-plugin","last_synced_at":"2025-10-26T05:30:43.201Z","repository":{"id":56845773,"uuid":"146189238","full_name":"fivethree-team/ionic-fastlane-plugin","owner":"fivethree-team","description":"🧩  fastlane plugin for Ionic 4+","archived":false,"fork":false,"pushed_at":"2020-05-20T10:41:25.000Z","size":3187,"stargazers_count":14,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T15:39:55.399Z","etag":null,"topics":["cd","ci","fastlane","fastlane-cordova","fastlane-ionic","fastlane-plugin","ionic"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/fastlane-plugin-fivethree_ionic","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fivethree-team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-26T14:45:59.000Z","updated_at":"2023-10-29T04:33:49.000Z","dependencies_parsed_at":"2022-09-17T21:51:51.965Z","dependency_job_id":null,"html_url":"https://github.com/fivethree-team/ionic-fastlane-plugin","commit_stats":null,"previous_names":["fivethree-team/fivethree-fastlane"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fivethree-team%2Fionic-fastlane-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fivethree-team%2Fionic-fastlane-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fivethree-team%2Fionic-fastlane-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fivethree-team%2Fionic-fastlane-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fivethree-team","download_url":"https://codeload.github.com/fivethree-team/ionic-fastlane-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238264673,"owners_count":19443388,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cd","ci","fastlane","fastlane-cordova","fastlane-ionic","fastlane-plugin","ionic"],"created_at":"2024-09-24T20:52:47.096Z","updated_at":"2025-10-26T05:30:42.743Z","avatar_url":"https://github.com/fivethree-team.png","language":"Ruby","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://rubygems.org/gems/fastlane-plugin-fivethree_ionic\" target=\"blank\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/fivethree-team/ionic-fastlane-plugin/master/.assets/banner.png\" width=\"460px\" alt=\"Ionic Fastlane Plugin\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# ionic-fastlane-plugin\n\n[fastlane plugin](https://rubygems.org/gems/fastlane-plugin-fivethree_ionic) for Ionic 4+.\n\n## Table of content\n\n- [Getting started](#getting-started)\n- [Actions](#actions)\n\n## Getting started\n\nInstall the ionic-fastlane plugin\n\n```console\nfastlane add_plugin fastlane-plugin-fivethree_ionic\n```\n\nThis will add `gem 'fastlane-plugin-fivethree_ionic'` in the `fastlane/Pluginfile`.\n\n## Actions\n\nThis [Fastfile](./fastlane-plugin-fivethree_ionic/fastlane/Fastfile) contains example of the following actions.\n\n| Action                                                              | Description                                                   |\n| ------------------------------------------------------------------- | ------------------------------------------------------------- |\n| [fiv_add_transparent_statusbar](#fiv_add_transparent_statusbar)     |\n| [fiv_build_ionic_android](#fiv_build_ionic_android)                 |\n| [fiv_android_keystore](#fiv_android_keystore)                       | Generate an Android keystore file or validate keystore exists |\n| [fiv_build_ionic_android](#fiv_build_ionic_android)                 |\n| [fiv_bump_version](#fiv_bump_version)                               |\n| [fiv_clean_install](#fiv_clean_install)                             |\n| [fiv_increment_build_no](#fiv_increment_build_no)                   |\n| [fiv_ionic](#fiv_ionic)                                             | Build your Ionic app for a specific platform                  |\n| [fiv_select_client](#fiv_select_client)                             | Select a client for white labeling the app                    |\n| [fiv_select_clients](#fiv_select_clients)                           | Select all, many or one client for white labeling the app     |\n| [fiv_select_env](#fiv_select_env)                                   | Select an environment folder for white labeling the app       |\n| [fiv_sign_android](#fiv_sign_android)                               | Zipalign, sign and verify apk                                 |\n| [fiv_update_version](#fiv_update_version)                           |\n| [fiv_update_version_and_build_no](#fiv_update_version_and_build_no) |\n| [fiv_version](#fiv_version)                                         |\n\n### fiv_add_transparent_statusbar\n\n### fiv_android_keystore\n\nGenerate an Android keystore file or validate keystore exists\n\n#### Options\n\n| Options       | Description               | Type     | Default              | Required |\n| ------------- | ------------------------- | -------- | -------------------- | -------- |\n| keystore_path | Path to the android       | `string` | `./fastlane/android` | `false`  |\n| keystore_name | Name of the keystore      | `string` |                      | `true`   |\n| key_alias     | Key alias of the keystore | `string` |                      | `true`   |\n\n### fiv_build_ionic_android\n\n### fiv_bump_version\n\n### fiv_clean_install\n\n### fiv_increment_build_no\n\n### fiv_ionic\n\nBuild your Ionic app for iOS:\n\n```ruby\noutputpath =\n  fiv_ionic(\n    platform: 'ios', release: 'true', prod: 'true', team_id: 'YOUR_TEAM_ID'\n  )\n```\n\nBuild your Ionic app for Android:\n\n```ruby\noutputpath = fiv_ionic(platform: 'android', release: 'true', prod: 'true')\n```\n\n#### Options\n\n| Options  | Description                                                                                                                          | Type                                                   | Default    |\n| -------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | ---------- |\n| platform | Platform to build on. Can be android, ios or browser                                                                                 | `android` \\| `browser` \\| `ios`                        |\n| prod     | Build for production                                                                                                                 | `true` \\| `false`                                      | `false`    |\n| release  | Build for release if `true`, or for debug if `false`                                                                                 | `true` \\| `false`                                      | `true`     |\n| team_id  | The development team (Team ID) to use for code signing                                                                               | `string`                                               |\n| type     | This will determine what type of build is generated by Xcode. Valid options are `development`, `enterprise`, `adhoc`, and `appstore` | `development` \\| `enterprise` \\| `adhoc` \\| `appstore` | `appstore` |\n\n### fiv_select_client\n\nAdd `fiv_select_client` to your lane to select a client for copying client specific resources before your app build.\n\nFor example you have the following app clients:\n\n- clients\n  - companyA\n    - resources\n    - ...\n  - companyB\n  - companyZ\n\n`fiv_select_client()` lets you select one client and returns the client name.\n\n```ruby\nclient = fiv_select_client\n\n# copy client resources e.g. \"cp ../clients/#{client}/resources ../\"\n# build app\n```\n\n#### CI\n\nClient selection can also be passed as an option for a non interactive environment. Add the option `client` to `before_all` and assign it to an environment variable `CLIENT`.\n\n```ruby\nbefore_all { |lane, options| ENV['CLIENT'] = options[:client] }\n```\n\n`fastlane example_lane client:companyA`\n\n#### Options\n\n| Options        | Description                                | Type     | Default   | Required |\n| -------------- | ------------------------------------------ | -------- | --------- | -------- |\n| clients_folder | Path to your clients white label resources | `string` | `clients` | `false`  |\n\n### fiv_select_clients\n\nAdd `fiv_select_clients` to your lane to select all, many or one client for copying client specific resources before your app build in a loop.\n\nFor example you have the following app clients:\n\n- clients\n  - companyA\n    - resources\n    - ...\n  - companyB\n  - companyZ\n\n`fiv_select_clients()` lets you select all, many or one client and returns an array of client names.\n\n```ruby\nclients = fiv_select_clients\n\nclients.each { |client| }\n```\n\n#### CI\n\nClients selection can also be passed as an option for a non interactive environment. Add the option `clients` to `before_all` and assign it to an environment variable `CLIENTS`.\n\n```ruby\nbefore_all { |lane, options| ENV['CLIENTS'] = options[:clients] }\n```\n\nSeperate clients by `,`:\n\n`fastlane example_lane clients:companyA,companyB`\n\n#### Options\n\n| Options        | Description                                | Type     | Default   | Required |\n| -------------- | ------------------------------------------ | -------- | --------- | -------- |\n| clients_folder | Path to your clients white label resources | `string` | `clients` | `false`  |\n\n### fiv_select_env\n\nAdd `fiv_select_env` to your lane to select an environment of a client for copying specific resources for this environment before your app build. e.g the resources or app icon and splash screen might differ for each environment.\n\nFor example you have the following app clients with different environments:\n\n- clients\n  - companyA\n    - resources\n    - environment\n      - prod\n        - resources\n      - qa\n        - resources\n      - test\n        - resorces\n  - companyB\n  - companyZ\n\n`fiv_select_env()` lets you select one client and returns the client name.\n\n```ruby\nclient = fiv_select_client\nenv = fiv_select_env(client: client)\n\n# copy client resources from environment e.g. \"cp ../clients/#{client}/enviroment/#{env}/resources ../\"\n# build app\n```\n\n#### CI\n\nEnvironment selection can also be passed as an option for a non interactive environment. Add the option `env` to `before_all` and assign it to an environment variable `ENV`.\n\n```ruby\nbefore_all do |lane, options|\n  ENV['CLIENT'] = options[:client]\n  ENV['ENV'] = options[:env]\nend\n```\n\n`fastlane example_lane client:companyA env:prod`\n\n#### Options\n\n| Options             | Description                                     | Type     | Default        | Required |\n| ------------------- | ----------------------------------------------- | -------- | -------------- | -------- |\n| clients_folder      | Path to your clients white label resources      | `string` | `clients`      | `false`  |\n| environments_folder | Path to your environments white label resources | `string` | `environments` | `false`  |\n| client              | Path to your selected client                    | `string` |                | `true`   |\n\n### fiv_sign_android\n\nZipaligns, [signs v2](https://source.android.com/security/apksigning/v2) and verifys an apk with a keystore. If the keystore does not exists it uses `fiv_android_keystore` to create a new keystore.\n\n```ruby\n# run before signing: ionic cordova build android --prod --release\n\napk_path =\n  fiv_sign_android(\n    keystore_name: 'pizza',\n    key_alias: 'pizza',\n    app_version: '1.0.1',\n    app_build_no: '2020',\n    apk_output_dir: './apk',\n    silent: true\n  )\n```\n\n#### Options\n\n| Options                    | Description                                                          | Type     | Default                                                                               | Required |\n| -------------------------- | -------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------- | -------- |\n| keystore_path              | Path to the android                                                  | `string` | `./fastlane/android`                                                                  | `false`  |\n| keystore_name              | Name of the keystore used to store storepass and keypass in keychain | `string` |                                                                                       | `true`   |\n| android_sdk_path           | Path to your installed Android SDK                                   | `string` | `~/Library/Android/sdk`                                                               | `false`  |\n| android_build_tool_version | Android Build Tool version used for `zipalign`, `sign` and `verify`  | `string` | `28.0.3`                                                                              | `false`  |\n| apk_source                 | Android Build Tool version used for `zipalign`, `sign` and `verify`  | `string` | `./platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk`          | `false`  |\n| apk_zipalign_target        | Target path for the zipaligned apk                                   | `string` | `./platforms/android/app/build/outputs/apk/release/app-release-unsigned-zipalign.apk` | `false`  |\n| apk_signed_target          | Target path of the signed apk                                        | `string` | `./platforms/android/app/build/outputs/apk/release`                                   | `false`  |\n| key_alias                  | Key alias of the keystore                                            | `string` |                                                                                       | `true`   |\n| app_version                | App version                                                          | `string` |                                                                                       | `true`   |\n| app_build_no               | App build number                                                     | `string` |                                                                                       | `true`   |\n\n### fiv_update_version\n\n### fiv_update_version_and_build_no\n\n### fiv_version\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffivethree-team%2Fionic-fastlane-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffivethree-team%2Fionic-fastlane-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffivethree-team%2Fionic-fastlane-plugin/lists"}