Giter Site home page Giter Site logo

fastlane-plugin-queue's Introduction

fastlane-plugin-queue

fastlane Plugin Badge

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

Screenshot - Overview Screenshot - Overview

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 Screenshot - Overview
Pending Screenshot - Pending
Failed Screenshot - 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.

fastlane-plugin-queue's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

rishabhtayal

fastlane-plugin-queue's Issues

Pass file with environmental variables

When I try to pass --env argument with

fastlane run queue run:

or

fastlane ios beta queue:true

I get

no implicit conversion of nil into String
as an error

So in my case I want to queue command like:

fastlane ios beta queue:true --env MyTarget

Is there such possibility, or will be added any time soon?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.