基于windows使用fabric将gitlab的文件远程同步到服务器(本地)

Posted 我好像在哪见过你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于windows使用fabric将gitlab的文件远程同步到服务器(本地)相关的知识,希望对你有一定的参考价值。

# -*- coding: utf-8 -*-
from fabric.api import env, run, local, put
from fabric.operations import sudo
import tarfile
import os
import string

# GIT_REPO = "git地址"

env.user = ‘账号‘
env.password = ‘密码‘
env.hosts = [‘IP地址‘]
env.port = ‘22‘

exclude_names = [‘fabfile.py‘, ‘venv‘]


def filter_func(tarinfo):
    # if tarinfo in exclude_names and tarinfo.isdir():
    if tarinfo in exclude_names:
        return True
    elif tarinfo.endswith(‘fabfile.py‘):
        return True
    elif tarinfo.endswith(‘venv‘):
        return True
    # elif tarinfo.startswith(‘venv‘):
    #     return True
    elif tarinfo.startswith(‘.‘):
        return True
    # elif tarinfo.endswith(‘.git‘):
    #     return True
    # elif tarinfo.endswith(‘.idea‘):
    #     return True
    elif tarinfo.endswith(‘.html‘):
        return True
    elif tarinfo.endswith(‘.pyc‘):
        return True
    else:
        return False

# 本地压缩到服务器
def deploy():
    # local
    basedir = os.getcwd()
    source_folder = ‘目标文件夹‘
    tar = tarfile.open(‘the_tar.gz‘, ‘w:gz‘)
    tar.add(basedir, exclude=filter_func)
    # for root, dirs, files in os.walk(basedir):
    #     fullpath = os.path.join(root, file)
    #     tar.add(fullpath)
    tar.close()
    put(os.path.join(basedir, ‘the_tar.gz‘), source_folder)

    run("""
        cd {} &&
        tar -xf the_tar.gz &&
        rm -f the_tar.gz
        """.format(source_folder))
    # sudo(‘supervisorctl restart 项目进程‘)


# if __name__ == ‘__main__‘:
#     deploy()

  

以上是关于基于windows使用fabric将gitlab的文件远程同步到服务器(本地)的主要内容,如果未能解决你的问题,请参考以下文章

区块链(ubuntu)-Hyperledger Fabric的隐私保护

区块链(ubuntu)-Hyperledger Fabric的隐私保护

区块链(ubuntu)-Hyperledger Fabric的隐私保护

如何使用Hyperledger Fabric和Composer构建区块链网络(上)

fabric.js - 基于父级旋转“子”对象,不带分组

基于需求的 Service Fabric 组件可用性