def starting():
    """
    Start a deployment, make sure server(s) ready.
    """

    if "local" in env.roles:
        utils.abort("Cannot run deploy in local role")

    abort_msg = None

    utils.puts("Check server packages...")
    with settings(abort_exception=FabricException):
        try:
            run('which python3 > /dev/null 2>&1')
        except (FabricException):
            abort_msg = "Python 3 must be installed"

        try:
            run('which virtualenv > /dev/null 2>&1')
        except (FabricException):
            abort_msg = "virtualenv for python must be installed"

    if abort_msg:
        utils.abort(abort_msg)

    execute('check', host=env.host)
    execute('set_previous_revision', host=env.host)
示例#2
0
 def run(self, *args, **kwargs):
     for func in self.prereqs:
         execute(func, host=env.host)
     # set role specific variables from roledefs
     with settings(**self.role_settings()):
         result = super(WrappedCallableDependenciesTask, self).run(*args, **kwargs)
     for func in self.postreqs:
         execute(func, host=env.host)
     return result
def install_ssh_kit():
    """
        Install the whole ssh kit (key + git config)
    """

    tasks = ('install_git_ssh', 'install_ssh_key')

    for task in tasks:
        execute(task, host=env.host)
示例#4
0
def rollback():
    """
    Rollback to previous release.
    """
    tasks = (
        'starting started reverting reverted '
        'publishing published finishing_rollback finished'
    )
    for task in tasks.split():
        execute(task, host=env.host)
示例#5
0
 def run(self, *args, **kwargs):
     for func in self.prereqs:
         execute(func, host=env.host)
     # set role specific variables from roledefs
     with settings(**self.role_settings()):
         result = super(WrappedCallableDependenciesTask,
                        self).run(*args, **kwargs)
     for func in self.postreqs:
         execute(func, host=env.host)
     return result
示例#6
0
def deploy():
    """
    Deploy a new release.
    """
    tasks = (
        'starting started updating updated '
        'publishing published finishing finished'
    )
    for task in tasks.split():
        execute(task, host=env.host)
示例#7
0
文件: deploy.py 项目: bmuller/fake
def check():
    """
    Check required files and directories exist
    """
    if 'deploy_path' not in env or 'repo_url' not in env:
        raise RuntimeError("You must set deploy_path and repo_url in your environment")
    _set_scm()
    execute(scm.check, host=env.host)
    run("mkdir -p %s %s" % (paths.shared_path, paths.releases_path))
    if len(env.linked_dirs) > 0:
        dirs = map(str, paths.shared_path.rooted(env.linked_dirs))
        run("mkdir -p %s" % " ".join(dirs))
    if len(env.linked_files) > 0:
        dirs = [paths.shared_path.join(f).dirname for f in env.linked_files]
        run("mkdir -p %s" % " ".join(dirs))
示例#8
0
def check():
    """
    Check required files and directories exist
    """
    if 'deploy_path' not in env or 'repo_url' not in env:
        raise RuntimeError(
            "You must set deploy_path and repo_url in your environment")
    _set_scm()
    execute(scm.check, host=env.host)
    run("mkdir -p %s %s" % (paths.shared_path, paths.releases_path))
    if len(env.linked_dirs) > 0:
        dirs = map(str, paths.shared_path.rooted(env.linked_dirs))
        run("mkdir -p %s" % " ".join(dirs))
    if len(env.linked_files) > 0:
        dirs = [paths.shared_path.join(f).dirname for f in env.linked_files]
        run("mkdir -p %s" % " ".join(dirs))
示例#9
0
文件: deploy.py 项目: bmuller/fake
def updating():
    """
    Update server(s) by setting up a new release.
    """
    # this may have been set on a previous run on another server.
    # it's used later, so don't update if it's already been set.
    if 'release_timestamp' not in env:
        env.release_timestamp = time.strftime('%Y%m%d%H%M%S', time.gmtime())
    paths.release_path = paths.releases_path.join(env.release_timestamp)
    _set_scm()
    execute(scm.create_release, host=env.host)
    execute(scm.set_current_revision, host=env.host)
    with cd(paths.release_path):
        run("echo \"%s\" >> REVISION" % env.current_revision)
    execute("symlink_folders", host=env.host)
    execute("symlink_files", host=env.host)
示例#10
0
def updating():
    """
    Update server(s) by setting up a new release.
    """
    # this may have been set on a previous run on another server.
    # it's used later, so don't update if it's already been set.
    if 'release_timestamp' not in env:
        env.release_timestamp = time.strftime('%Y%m%d%H%M%S', time.gmtime())
    paths.release_path = paths.releases_path.join(env.release_timestamp)
    _set_scm()
    execute(scm.create_release, host=env.host)
    execute(scm.set_current_revision, host=env.host)
    with cd(paths.release_path):
        run("echo \"%s\" >> REVISION" % env.current_revision)
    execute("symlink_folders", host=env.host)
    execute("symlink_files", host=env.host)
示例#11
0
def published():
    """
        Published
    """

    execute('log_dir_permissions', host=env.host)
    execute('deploy_virtualenv', host=env.host)
    execute('install_dotenv', host=env.host)
    execute('deploy_staticfiles', host=env.host)
    execute('migrate_database', host=env.host)
    execute('create_run_dir', host=env.host)
示例#12
0
文件: deploy.py 项目: bmuller/fake
def starting():
    """
    Start a deployment, make sure server(s) ready.
    """
    execute('check', host=env.host)
    execute('set_previous_revision', host=env.host)
示例#13
0
文件: deploy.py 项目: bmuller/fake
def finishing_rollback():
    execute("cleanup_rollback", host=env.host)
示例#14
0
文件: deploy.py 项目: bmuller/fake
def finishing():
    execute("cleanup", host=env.host)
示例#15
0
def finished():
    """
        Published
    """

    execute('restart', host=env.host)
示例#16
0
def finishing():
    execute("cleanup", host=env.host)
示例#17
0
def finishing_rollback():
    execute("cleanup_rollback", host=env.host)
示例#18
0
def starting():
    """
    Start a deployment, make sure server(s) ready.
    """
    execute('check', host=env.host)
    execute('set_previous_revision', host=env.host)