Factor.io is a simple way to automate developer workflows by defining them programmatically using the Factor.io syntax and running them using the Factor Server.
Suppose you use Github for source code management, and Heroku for hosting. When you merge code into the master branch of the skierkowski/hello repo it is ready for deployment to Heroku's 'hello' app. We want the deployment to happen automatically.
This workflow can now be described using the Factor.io syntax like this:
listen 'github::push', repo:'skierkowski/hello#master' do |repo|
run 'heroku::deploy', content:repo.content, app:'hello' do |deploy|
success "Deploy complete, revisision \#{deploy.revision}"
end
end
Now you just have to start the Factor.io server and this workflow comes to life. The Factor.io Server will now just sit and listen for new code being merged or pushed to the skierkowski/hello master branch. When the push occurs, it will then deploy the contents to Heroku and notify us of the new revision.