fastlane-plugin-queue
About fastlane-plugin-queue
Easily queue up fastlane
jobs using Resque.
Current Features
- Queue any of your lanes into a
resque
queue - Manage queue using
resque
's web interface- View queued, running, and failed jobs
- Retry failed jobs
- Custom web interface for starting
fastlane
jobs
Planned Features
- Configure any
resque
settings- Ex: port, redis connection settings, plugins
- Allow different
dotenv
settings per job
Getting Started
This project is a fastlane plugin. To get started with fastlane-plugin-queue
, add it to your project by running:
fastlane add_plugin queue
This plugin also require Redis. Install using brew install redis
or instructions here
Step 0 - Start Redis server
Make sure you Redis server is running. This is usually done by running redis-server
(but this may be different based on how Redis was installed).
Step 1 - Start queue
Start the queue web server and worker by running the following command. This will be a blocking command so you will need to open to open a second terminal window/tab to add your fastlane jobs to the queue. To kill the web server and worker, you will need to hit CONTROL + C
.
fastlane run start_queue
Step 2 - Add to queue
The easiest way to add a job to a queue is to run the queue
action direction using the following command. The run
parameter will run anything you would put after the "fastlane" command you would usually run. Below are some examples:
fastlane run queue run:"ios deploy"
fastlane run queue run:"android deploy"
fastlane run queue run:"build"
fastlane run queue run:"ios beta group:staging"
Advanced
It is possible add fastlane jobs to your queue by using standard fastlane syntax by adding queue:true
(see below)
fastlane ios beta queue:true
To do this, add the following setup in your Fastfile
...
before_all do |lane, options|
if options[:queue]
queue(
platform: Actions.lane_context[Actions::SharedValues::PLATFORM_NAME],
lane: lane.to_s,
lane_parameters: options
)
UI.abort_with_message! "We queued this so not running"
end
end
This will abort the fastlane process before any of the lanes can get called but will add a job to the queue platform, lane, and parameters that you specified in your command.
Example Resque Screenshots
Resque Screen | Screenshot |
---|---|
Overview | |
Pending | |
Failed |
Example
Check out the example Fastfile
to see how to use this plugin. Try it by cloning the repo, running fastlane install_plugins
and bundle exec fastlane test
.
Run tests for this plugin
To run both the tests, and code style validation, run
rake
To automatically fix many of the styling issues, use
rubocop -a
Issues and Feedback
For any other issues and feedback about this plugin, please submit it to this repository.
Troubleshooting
If you have trouble using plugins, check out the Plugins Troubleshooting guide.
Using fastlane Plugins
For more information about how the fastlane
plugin system works, check out the Plugins documentation.
About fastlane
fastlane is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out fastlane.tools.