首页 > 代码库 > fabric 自动创建仓库并下载或更新代码
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@taskdef 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: passdef 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)@taskdef start(): flag = test_exist_dir() if flag: get_file() else: make_dir()@taskdef 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 忽略所有输出
fabric 自动创建仓库并下载或更新代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。