def vagrant(ver='latest'): """ (Default) Deploy latest version or specific tag to vagrant. Usage: deploy.vagrant:(latest|#.#.#) """ if ver == 'latest': create_package() ver = get_git_version() packages = [f for f in os.listdir('ansible/roles/application/files') if re.match(r'\w+-%s(\.tar.gz|.*\.whl)' % ver.replace('.', '\.'), f)] if len(packages) != 2: print 'failed to find packages for version: %s' % ver exit(1) local('ansible-playbook -i ansible/inventory/webservers/vagrant.ini --extra-vars "version=%s" --private-key=.vagrant/machines/web/virtualbox/private_key -u vagrant -v --sudo ansible/deploy.yml' % ver)
def production(ver='latest'): """ Deploy latest version or specific tag to production. Usage: deploy.production:(latest|#.#.#) """ if 'settings' not in env: env['settings'] = 'mysite.settings.production' if ver == 'latest': create_package() ver = get_git_version() packages = [f for f in os.listdir('ansible/roles/application/files') if re.match(r'\w+-%s(\.tar.gz|.*\.whl)' % ver.replace('.', '\.'), f)] if len(packages) != 2: print 'failed to find packages for version: %s' % ver exit(1) local('ansible-playbook ansible/deploy.yml -i ansible/inventory/production.ini --list-hosts')