🚀 The easiest way to automate building and releasing your iOS and Android apps
MIT License
Bot releases are hidden (Show)
Published by KrauseFx over 9 years ago
This is one of the biggest updates of fastlane
yet: You can now execute lanes from within lanes and even pass parameters.
This allows you to move common build steps into a shared lane. Additionally it's now also possible to pass parameters from the command line to your lane.
To pass parameters from the command line to your lane, use the following syntax:
fastlane [lane] key:value key2:value2
fastlane deploy submit:false build_number:24
To access those values, change your lane decleration to also include |options|
lane :deploy do |options|
...
if options[:submit]
# Only when submit is true
end
...
increment_build_number(build_number: options[:build_nymber])
...
end
To switch lanes while executing a lane, use the following code:
lane :deploy do |options|
...
build(release: true) # that's the important bit
hockey
...
end
lane :staging do |options|
...
build # it also works when you don't pass parameters
hockey
...
end
lane :build do |options|
scheme = (options[:release] ? "Release" : "Staging")
ipa(scheme: scheme)
end
fastlane
takes care of all the magic for you. You can call lanes of the same platform or a general lane outside of the platform
definition.
Passing parameters is optional.
Additionally, you can retrieve the return value. In Ruby, the last line of the lane
definition is the return value. Here is an example:
lane :deploy do |options|
value = calculate(value: 3)
puts value # => 5
end
lane :calculate do |options|
...
2 + options[:value] # the last line will always be the return value
end
dsym
file by default when using the hockey integrationPublished by KrauseFx over 9 years ago
fastlane_core
dependencyPublished by KrauseFx over 9 years ago
From
Actions.lane_context[Actions::SharedValues::LANE_NAME]
to
lane_context[SharedValues::LANE_NAME]
Makes things so much cleaner ✅ More details about the available context variables here.
Also new, check out the Code Signing Guide 🔑
Published by KrauseFx over 9 years ago
Published by KrauseFx over 9 years ago
import_certificate
: Import certificates into the current default keychain (thanks @gin0606)lcov
: Generate code coverage reports based on lcov
(thanks Thiago Lioy)appstore
: Action to upload new builds and metadata to the App Store, alias for deliver
update_app_group_identifiers
: Updates the App Group Identifiers in the given Entitlements file, so you can have app groups for the app store build and app groups for an enterprise build (thanks Mathias Aichinger)create_keychain
: Create a new keychain, which can then be used to import certificates (thanks @gin0606)delete_keychain
: Delete an existing keychain (thanks @gin0606)notify_room
option for hipchat
(thanks Christoph Dieckmann)silent
option for the ipa
action (thanks @gfpacheco)sigh
, shenzhen
, produce
dependenciesPublished by KrauseFx over 9 years ago
s3
action (thanks Thiago Lioy)backup_file
and restore_file
actions (thanks @gin0606)destination_timeout
option to xctest
(thanks @samsonjs)hipchat
integration (thanks Christoph Dieckmann)sigh
dependencyPublished by KrauseFx over 9 years ago
fastlane
(thanks @sjrmanning)
hg_push
hg_commit_version_bump
hg_add_tag
hg_ensure_clean_status
testflight
action to upload builds straight to TestFlight 🚀fastlane action cocoapods
s3
action (thanks @rossbeale)hockey
option to specify userssigh
, deliver
and produce
Published by KrauseFx over 9 years ago
ensure_git_branch
action to make sure you're on a specific git branch (thanks @dbachrach)update_info_plist
action to update the Info.plist
before building your app (thanks @tobiasstrebitzer)commit_sha
, repository_url
and build_server_url
options to hockey
action (thanks @tadpol)cocoapods
integration (thanks @tadpol)fastlane lanes
: Lists all available lanes with descriptionfastlane list
: Lists all available lanes without descriptionfastlane docs
: Generates a markdown based documentation of all your lanessigh
to use the new spaceship.airforce 🚀Appfile
(thanks @fabiomassimo)commit_version_bump
action (thanks @lmirosevic)ipa
integration (thanks @jeanregisser)update_project_provisioning
actionPublished by KrauseFx over 9 years ago
Preparations for the new fastlane_core
Published by KrauseFx over 9 years ago
shenzhen
dependencydeliver
actionPublished by KrauseFx over 9 years ago
ipa
action goes wrongsnapshot
path (thanks @hedjirog)fastlane init
when the fastlane
folder was already createdfastlane
setup process now asks for the app's schemeFastfile
reset_git
actionincrement_version_number
action (thanks @tobiasstrebitzer)ipa
option (thanks @domhof)fastlane
dependenciesPublished by KrauseFx over 9 years ago
Thanks to @fabiomassimo you can now define your Appfile
for multiple platforms:
app_identifier "net.sunapps.1"
apple_id "[email protected]"
team_id "Q2CBPJ58CC"
for_platform :ios do
apple_id "[email protected]"
team_id 'Q2CBPJ58AA' # for all iOS related things
for_lane :enterprise do
app_identifier 'net.sunapps.ios.enterprise'
end
end
Published by KrauseFx over 9 years ago
Fastfile
template (thanks @avanderberg)Published by KrauseFx over 9 years ago
Fastfile
templatefastlane
to work with the new credentials_manager
Published by KrauseFx over 9 years ago
frameit
integrationPublished by KrauseFx over 9 years ago
Mailgun
action to send emails right from fastlane
(thanks @thiagolioy)OCLint
action for static analysis (thanks @HeEAaD)frameit
2.0metadata_only
mode for the new deliver
versionexclude_pattern
option to clean_build_artifacts
actions3
action (thanks @frobichaud)commit_version_bump
will never commit any other filesfastlane
action template to match the new requirementsgit_author
and last_git_commit
available to all fastlane
actionshockey
integrationsnapshot
action now doesn't open the HTML page by defaultPublished by KrauseFx over 9 years ago
This release switches to krausefx-shenzhen
to resolve the WatchKit binary issues
Published by KrauseFx over 9 years ago
ipa
action generated invalid ipa
files your app doesn't have WatchKit supporthockey
integrationpublic_identifier
option to hockey
integrationfastlane docs
renderingPublished by KrauseFx over 9 years ago
I'm excited to announce that fastlane
is now version 1.0, following the Semantic Versioning 🎉
The main reason for the success of fastlane was the great support for one specific platform. I was working hard on refactoring fastlane to handle both iOS and Mac projects with more platforms to come. This doesn't change anything for your existing projects. You can already start using fastlane
for Mac OS projects.
Check out the release notes for more information.
Tired of manually updating fastlane
each time a new release is available? Just add update_fastlane to your Fastfile
and it will automatically update itself.
You can now view the latest documentation of available actions and their parameters right in your terminal, using the fastlane action command.
Additionally, you can use the new fastlane docs command to generate a documentation of all your available fastlane lanes with a short description.
All 45 built-in fastlane integrations were completely refactored to use a brand new configuration system. This way fastlane knows about the available parameters, which is used to generate the documentation. Additionally, this update makes testing much easier. More information available on in release 0.12.0.
teams
, mandatory
and tags
options to the hockey integrationadd_git_tag
integrationfastlane
toolsI hope you like this release, as always you can send me feedback on Twitter @KrauseFx or via GitHub issues 😃
Published by KrauseFx over 9 years ago
commit_version_bump
(thanks @lmirosevic)notes_type
option to Hockey action (thanks @orta)release_type
option to Hockey action (thanks @keatongreve)Fastfile
template (thanks @dataich)for_lane
integration with new platform supportfastlane --help
command