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 忽略所有输出
  • 相关阅读:
    node.js 的简单介绍
    vue浅析
    rest_framework的分页器组件配置与使用
    restframwork组件的权限认证
    关于and和or的运算
    restframwork组件的使用
    实现简单的子页面传值给父页面
    Django使用orm模块时想看多对对数据关系的配置
    Django更新数据库表时无法执行表修改 指定Django要使用的数据库
    图论-kruskal算法-稀疏图
  • 原文地址:https://www.cnblogs.com/wt11/p/7345388.html
Copyright © 2011-2022 走看看