zoukankan      html  css  js  c++  java
  • fabric 自动创建仓库并下载或更新代码

    #!/usr/bin/python
    # -*- coding: utf-8 -*
    from fabric.api import *
    from fabric.contrib.files import *
    
    ## 需要注意的是,这里的host strings必须由username@host:port三部分构成,缺一不可,否则运行时还是会要求输入密码
    env.hosts = [
        'root@2.21.103.123',
    ]
    
    env.passwords = {
        'root@2.21.103.123:22': '111111',
    }
    
    env.sdir="/data/soft/soft/"
    env.username = 'wangteng'
    env.email = 'wangteng@qq.cn'
    env.gitlab_url = 'http://git.qqq.cn/qq_devops/zq.git'
    
    
    def test_exist_dir():
        # 检查仓库是否已经存在
        if int(run(" [ -e '%s' ] && echo 11 || echo 10" % env.sdir)) == 11:
            result = True
        else:
            result = False
        return result
    
    
    @task
    def git_config():
        # 配置git,这个配置只需一次就好
        try:
            run('git config --global user.name "%s"'%env.username)
            run('git config --global user.email "%s"'%env.email)
            run('git remote add origin %s'%env.gitlab_url)
        except:
            pass
    
    
    def make_dir():
        # 如果目录不存在,则创建目录,初始化为仓库,并将代码下载到仓库
        run('mkdir -p %s;git init'%(env.sdir,))
        git_config()
        run('cd %s;git clone %s'%(env.sdir,env.gitlab_url))
    
    
    def get_file():
        # 如果仓库存在,进行代码更新
        dir_name = env.sdir+env.gitlab_url.split('/')[-1].split('.')[0]
        run('cd %s;git pull'%dir_name)
    
    
    @task
    def start():
        flag = test_exist_dir()
        if flag:
            get_file()
        else:
            make_dir()
    
    
    @task
    def no_username_password():
        run('cd /;git config --global credential.helper store')
    
    # fab -f test_fabric.py start --hide status,running,stdout,user,aborts,warnings,stderr 忽略所有输出
  • 相关阅读:
    c语言基础学习10_文件操作02
    c语言_文件操作_FILE结构体小解释
    初识 Swift编程语言(中文版)
    Jquery滑动门实现
    【一步一步走(1)】远程桌面软件VNC的安装与配置
    并查集 路径压缩(具体解释)
    linux中操作java进程
    HDOJ 3944 DP?
    选择排序与冒泡排序
    UVa145 Gondwanaland Telecom
  • 原文地址:https://www.cnblogs.com/wt11/p/7345388.html
Copyright © 2011-2022 走看看