Commit 27e84fb2 authored by Yuanle Song's avatar Yuanle Song
Browse files

v0.13.0 add fabfile for deployment

parent 0004b40c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
(defproject python/lein-template "0.12.0"
(defproject python/lein-template "0.13.0"
  :description "lein template for a python project"
  :repositories [["snapshots"
                  {:url "http://devserv.game.yy.com/nexus/content/repositories/snapshots"
+36 −0
Original line number Diff line number Diff line
#!/usr/bin/env python
# coding=utf-8

"""
fabric file for server automation.
"""
# pylint: disable=line-too-long

import os.path
from fabric.api import env, sudo, run, local, hosts, put, cd

env.use_ssh_config = True
PROD_HOST = 'de01'


def get_version_from_setup_file():
    """parse version info from setup.py file.

    Return the version string.

    """
    with open("setup.py", "r") as f:
        for line in f:
            if "version=" in line:
                return line.split("=")[1][1:-3]
    raise Exception("version not found in setup.py")


@hosts(PROD_HOST)
def deploy():
    version = get_version_from_setup_file()
    deb_file = "{{name}}_%s_amd64.deb" % (version,)
    if not os.path.exists(deb_file):
        local("make deb")
    put(deb_file)
    run("dpkg -i %s" % (deb_file,))