Quickstart
This section covers the (fast) setup of a deployment configuration and the deployment of your project using that configuration. Check the installation section for installation instructions.
Commands
fumi offers a small amount of easy to use commands:
- deploy: deploy with a given configuration
- list: show all the available configurations
- new: create a new deployment configuration with the bare minimum
- remove: remove an existing configuration.
You will most likely be using deploy
the most, so you just need to remember that you can use it in two ways:
By simply running:
$ fumi deploy
in your project's directory, which will use the default configuration, or ask you for a default configuration.
Or by running:
$ fumi deploy CONF
where CONF
is the configuration name that you want fumi to use.
Creating your first configuration
In order to create a basic configuration with the bare minimum:
$ fumi new CONF
This will create a CONF
configuration in the fumi.yml
file that you can adapt to your project's needs. However, you should take a look at the structure of the deployment file for advanced options and details.
Making your first deployment
Once you are happy with your configuration, run:
$ fumi deploy CONF
to make your first deployment. Remember that you can also set it as default by running:
$ fumi deploy
and specifying the configuration to use by default.
The deployment directory
The remote deployment directory has the following structure:
deploy_dir/
current/
YOUR_PROJECT_FILES
rev/
20150329183900/
YOUR_PROJECT_FILES
Each time you deploy your project, a new revision will be created in the rev
directory, using timestamp of the deployment as name. This directory is then symlinked to the current
directory, which is were the live version of your project can be accessed from.
Things to consider
fumi performs deployments through SSH. You may notice that you are not asked for a password when deploying a project. This is due to fumi expecting your public key configured in the remote server.
The tool is language-agnostic, hence it is up to you to decide how your project must be deployed and what commands to execute in the remote host (or locally) before and after deployment.
You will not be prompted for superuser password if you issue a sudo command or similar.