Bifrost is a command line tool to aid with the deployment of code to AWS instances using the Fabric library. Currently in beta.
sudo pip install git+http://github.com/justcompile/bifrost
From the top level of your project repository, you can run the following
init
will generate a configuration file which bifrost will use when communicating with the servers. It will prompt the user for a number of questions to help build the file such as AWS EC2 tags, deployment directory etc.
name
: the name of the configuration file to generate [defaults: bifrost.cfg].
deploy
will initiate the deployment for the given project. By default it will deploy to all roles by calling the deploy
task.
-n/--name
: specifies the name of configuration to use [defaults: bifrost.cfg].-t/--task
: prints out a list of available tasks in the case where custom ones have been addedtask1 task2 ...
: If you wish to manually override the task(s) to execute.
To generate the default configuration file:
# To generate the default configuration file
bifrost init
# To specify the name of the configuration file
bifrost init -n bifrost-staging.cfg
# To deploy to all roles from the `default` branch
bifrost deploy
# To deploy to all roles from a different branch:
bifrost deploy deploy:branch=feature/PROD_1234
# To deploy to a specific role from a different branch:
bifrost deploy deploy_web:branch=feature/PROD_1234
# To run a particular task:
bifrost deploy my_task:param1=1234
# To deploy to all roles and run a task:
bifrost deploy deploy:branch=feature/PROD_1234 my_other_task