🚀 The easiest way to automate building and releasing your iOS and Android apps
MIT License
Bot releases are hidden (Show)
Published by KrauseFx about 9 years ago
unlock_keychain
methodfastlane
setup automatically detects if the project uses Carthagepodfile
option for the cocoapods
action to specify the path to the Podfile
set_github_release
actionfastlane
via the CLIimport_from_git
actionPublished by KrauseFx about 9 years ago
cocoapods
actionhipchat
integrationfastlane
reposExample download
usage
data = download(url: "https://host.com/api.json")
# Print information
puts data["users"].first["name"]
# Iterate
data["users"].each do |user|
puts user["name"]
end
Published by KrauseFx about 9 years ago
read_podspec
to read the content of a podspec fileensure_git_branch
now also support regex filtersset_github_release
integrations supports file uploadsfastlane actions --platform mac
deliver
to support the new locale format of iTunes ConnectPublished by KrauseFx about 9 years ago
get_info_plist
and set_info_plist
actions to update the plist file of your projectGemfile
in the bundle_install
actiongym
Published by KrauseFx about 9 years ago
The fastlane
repo now automatically validates the code style using rubocop ☔
push_git_tags
actionupdate_project_provisioning
integrationimport_from_git
actionPublished by KrauseFx about 9 years ago
fastlane
now integrates nicely with pilot, more information fastlane action pilot
register_devices
action now supports file based registrationimport_from_git
actionPublished by KrauseFx about 9 years ago
fastlane
commit_version_bump
integrationuse_bundle_exec
option for the cocoapods
integrationimport_from_git
actionclipboard(value: "https://github.com/KrauseFx/fastlane")
Use it to store some generated URL or value for easy copy & paste (e.g. the download link):
clipboard(value: lane_context[SharedValues::HOCKEY_DOWNLOAD_LINK])
Published by KrauseFx about 9 years ago
get_build_number
action (thanks @Liquidsoul)get_version_number
action (thanks @Liquidsoul)xcodebuild
integration (thanks @birmacher)Published by KrauseFx about 9 years ago
Fixed the login on iTunes Connect after a server-side changee
Published by KrauseFx about 9 years ago
Published by KrauseFx about 9 years ago
bundle install
(thanks @birmacher)cocoapods
action now uses the version defined in the Gemfile
Published by KrauseFx about 9 years ago
import_from_git
action that fetches the latest fastlane
configuration from a remote git repositoryPublished by KrauseFx about 9 years ago
Fastfile
, fastlane
will now also import the local actions for this Fastfile
commit_version_bump
actionPublished by KrauseFx about 9 years ago
ensure_no_debug_code
action to make sure no temporary code like // TODO
gets into productioncommit_version_bump
(thanks @kohtenko)carthage
integration (thanks @petester42)s3
action (thanks @kreeger)Published by KrauseFx about 9 years ago
set_github_release
to return all information for the newly created releasedprompt
actionThanks @czechboy0 👍
Published by KrauseFx about 9 years ago
set_github_release
action (thanks @czechboy0)get_github_release
actiongit_pull
actionprompt
action can now also fetch multi-line user inputsimport
action now properly resolves ~
pathsPublished by KrauseFx over 9 years ago
Introduced a new standalone tool: pilot 🚀
import
action to import another Fastfile
. This allows you to easily use a Fastfile
across multiple projects (More information)lane_override
technique to overwrite existing laneslast_git_tag
actiongit_branch
actionfastlane
set_changelog
action to simply set one changelog for all languagesNew execution summary
Published by KrauseFx over 9 years ago
produce
is now entirely powered by spaceship, even the iTunes Connect part and also uses the new configuration managerbackup_xcarchive
action to backup your xcarchive (Thanks @dral3x)nobuild
option to the snapshot
action (thanks @ffittschen)produce
now has updated parameters and is finally using the new configuration manager.
Please migrate your produce
calls from
produce(
produce_username: '[email protected]',
produce_app_identifier: 'com.krausefx.app',
produce_app_name: 'MyApp',
produce_language: 'English',
produce_version: '1.0',
produce_sku: 123,
produce_team_name: 'SunApps GmbH' # only necessary when in multiple teams
)
to
produce(
username: '[email protected]',
app_identifier: 'com.krausefx.app',
app_name: 'MyApp',
language: 'English',
version: '1.0',
sku: 123,
team_name: 'SunApps GmbH' # only necessary when in multiple teams
)
Basically only removing the produce
prefix.
This is the first ever release of spaceship for iTunes Connect! 🚀
Published by KrauseFx over 9 years ago
Sometimes you might have a lane that is used from different lanes, for example:
lane :production do
...
build(release: true)
appstore # Deploy to the AppStore
...
end
lane :beta do
...
build(release: false)
crashlytics # Distribute to testers
...
end
lane :build do |options|
...
ipa
...
end
It probably doesn't make sense to execute the build
lane directly using fastlane build
. You can hide this lane using
private_lane :build do |options|
...
end
This will hide the lane from:
fastlane lanes
fastlane list
fastlane docs
And also, you can't call the private lane using fastlane build
.
The resulting private lane can only be called from another lane using the lane switching technology 🚀
This release also includes:
Published by KrauseFx over 9 years ago
get_github_release
action to get a specific release from GitHub.com. This can be used to only submit an app when you properly added a tag and a descriptiongit_branch
action to quickly get the branch you're currently inprompt
action to ask the user for additional values or to get a confirmation from the user. You can specify default values that will be used on a CI-systemsputs
action, never again write Helper.log.info
again, just use puts
attachment_properties
to the Slack action (thanks @jeanregisser)One more thing: this is the first fastlane
release that was completely automated using fastlane
🚀