Server Bundle Prep

This page describes the steps necessary to prepare a server bundle locally, for use with a target server. It assumes you already have a control environment set up, with a local copy of the bundle source.

The `fabenv.py` Script

Almost all bundles will include a fabenv.py.dist template. If your bundle has no such file then you can skip this step.

If your bundle does have this file, then you must see if you have a fabenv.py script. If not, then make a copy of fabenv.py.dist and name it fabenv.py.

Now open the fabenv.py script with your preferred editor and set passwords and other values according to your needs, depending on the target server you have in mind, etc. The script should include comments which make this process relatively straightforward.

Secure Files

Sometimes a server bundle may include logic for pushing a certain file(s) to the target server, but the file itself will not be included in the bundle's source repository. Probably the most common example would be SSH private keys and the like. If this is the case for your bundle, you must obtain a local copy of the file(s) and place it within your bundle working directory, according to where the bundle expects to find it.

The methods for determining whether or not this applies to your server bundle, are difficult to document. If the bundle contains a README or similar help documentation, certainly that should be consulted as a first step (and not just for the matter of secure files). Failing that, probably the "best" way would be to check the VCS "ignore" file for your source repository, since ideally it should explicitly mention any secure files so the developer is less apt to accidentally commit them. But that probably isn't a reliable method either, unfortunately. Worst case scenario is that some Fabric task fails, complaining about a missing file, in which case it should tell you where it expected to find the file.

Deployment/ServerBundlePrep (last edited 2015-11-15 08:40:19 by LanceEdgar)