def deployConfigFiles(templateData, *files):
"""
Deploy configuration files, filling template fields with real deployment
data.
@param templateData: A C{dict} with the data to fill the templates.
@param *files: A list C{(source, destination)} with information about what
files to copy
"""
serverName = templateData['server-name']
for origin, destination in files:
specificFilename = os.path.join('deployment', serverName, origin)
defaultFilename = os.path.join('deployment', 'default', origin)
origin = (specificFilename
if os.path.exists(specificFilename)
else defaultFilename)
destination = destination.format(**templateData)
put(origin, destination, use_sudo=True)
for key, value in templateData.iteritems():
sed(destination, '\{\{ %s \}\}' % key, value.replace('.', r'\.'),
use_sudo=True)
评论列表
文章目录