git代码迁移到新的gitlab服务器
由于gitlab上的代码要迁移至北京gitlab服务器统一用组的方式管理,需要把旧的代码迁移至新的gitlab服务器
文件内容:
gitwa
cephfs-http-service.git
cloudadmin.git
批量迁移脚本
from subprocess import PIPE,Popen import os import sys OLD = "http://1.1.1.1/" NEW = "http://2.2.2.2/" GROUP = "cloudzone" addr = "/root/git" def clone(): print("clone代码") with open('gitwa','r')as f: for line in f: proc = Popen('git clone {0}{1}/{2}'.format(OLD,GROUP,line),shell=True,stdout=PIPE,stdin=PIPE) txt = proc.stdout.read() res = proc.wait() print(txt,res) def modify(): print("修改代码地址") with open('gitwa','r') as f: for line in f: strs = line.split('.')[0] print(strs) os.chdir("{0}/{1}".format(addr,strs)) print(os.getcwd()) proc = Popen('git remote set-url origin {0}{1}/{2}'.format(NEW,GROUP,line),shell=True,stdout=PIPE,stdin=PIPE) if proc.wait() == 0: print(proc.stdout.read()) else: print("error") sys.exit(1) def push(): print("推送代码到远程仓库") with open('gitwa','r') as f: for line in f.readlines(): strs = line.split('.')[0] os.chdir("{0}/{1}".format(addr,strs))
os.system("git add *") os.system("git remote add origin {0}{1}/{2}".format(NEW,GROUP,strs)) os.system('git commit -m "Initial commit"') os.system('git push -u origin master') if __name__ == '__main__': clone() modify() push()