Automate deployments for your dev teams. automates the deployment processes so developers can focus on product code.

Join the beta!

Automate deployments with workflows

Create a workflow using one of our popular templates (like "Github to Heroku Deployment") or create a custom workflow from scratch. Here are some ideas:
  • Open a Trello Card when a circle-ci test fails
  • Deploy app to your private Cloud Foundry when tests pass
  • Run cap production deploy when code is merged or pushed to master branch
  • Run knife solo bootstrap every 30 minutes

Deploy without keys

Doesn't it suck that every single developer needs all the keys to all services in order to perform a deployment?

With fine-grained access control you can enable a developer to run a deployment without handing over they keys.

See everything

Did something go wrong? What was it? Diagnosing deployment failures can be a pain in the *aaS. At the top level you can see the status of all your workflows. If something is wrong it is immediately visible. Then you can dive into to see all the instances of the workflows, each of the activities, and every single line during execution.

Custom Integrations

We have a library of numerous popular developer services and frameworks, but do you need something we don't have?

Each connector exposes a basic API that the runtime understands, while on the other end it can speak to any 3rd party service or framework. Adding support for a new connectors is just a matter of creating a new REST API which follows our basic protocol.

name "Console deployer"
id 'console-deploy'
description 'Automatically deploy the `console` app to production using Capistrano (`bundle exec cap production deploy`) when code is merged or pushed into the master branch'

# identify required channels
channel 'github'
channel 'capistrano'
channel 'hipchat'

# listen for git push
Github.push repo:"factor-io/console", do |start|
  Capistrano.deploy env:'production' do |deploy|
    message="Finished deploying #{deploy[:release]}"
    Hipchat.send message:message, room:'Eng Team'

Programmatically define workflows

While we provide a drag-and-drop interface to create workflows as well as jumpstart templates, sometimes you just need extra control.

Using the Domain Specific Language (DSL) you can define workflows programmatically (based on Ruby). You can listen for events (e.g. waiting in a Hipchat room for a particular message) or you can take actions (e.g. send message to a Hipchat room).

{15:44}[1.9.3]~ ➭ factor start -V
[factord] loading credentials...
[factord] loading connectors...
[factord] loading workflows...
[factord]   loading 'Console Production Deployment'
[factord]   loading 'Merge code on test pass'
[factord]   loading 'Open issue on test fail'
[factord] started

Runs on-prem too!

Do you have self-hosted systems you want to integration (e.g. Jenkins)? Perhaps you are in a regulated industry and you need to run everything on prem? Or are you just the paranoid type?

Whatever the case may be, runs on-prem. That's right, you can run in hybrid mode or fully on-prem to keep all of your credentials local without connecting to the internet.

Sign up and get productive. public beta coming soon!

By clicking you agree to the Terms of Service and Privacy Policy.