当前位置: 首页 > wzjs >正文

山东省住房和城市建设厅网站信息管理网站开发实验报告

山东省住房和城市建设厅网站,信息管理网站开发实验报告,制作网站站用的软件,沈阳做网站的设计公司哪家好前言 单位有一个机器,机器里是个vm esxi里面跑着一个虚拟机里面跑着一个gitlab,经历了岁月变迁,网改了一遍,办公室改了一遍,机器折腾来折腾去,可能闪到腰了吧,gitlab总是访问不到,寻…

前言

单位有一个机器,机器里是个vm esxi里面跑着一个虚拟机里面跑着一个gitlab,经历了岁月变迁,网改了一遍,办公室改了一遍,机器折腾来折腾去,可能闪到腰了吧,gitlab总是访问不到,寻思吧库都导出来迁移到另一个机器里,另一个机器里面是gitea,现在这个虚拟机已经访问不大了,一拷贝数据磁盘就找不到。。只好换了个机器,插着这块硬盘,但是网络问题连不上虚拟机。干脆手动迁移吧(好几百个库呢。。。)

注意:只能导出来Git仓库,不能导出其他东西

将数据拷贝出来

使用vm esx控i制台登录虚拟机(本来想直连的,结果网不行,转不过去)跳转到/var/opt/gitlab/git-data将其拷出来cp -d /var/opt/gitlab/git-data ~/gitBack(必须加-d 否则有软连接后续无法使用)
此时发生了一件事,磁盘有500G。。而我没地方存。。于是关机,给虚拟机加了一个20g的硬盘,根据网上的教程挂载上去,把数据拷贝过去,然后打开vm的ssh,登录,找到当时加的那快硬盘,拷贝到本地电脑里

整理文件

使用7zip打开vmdk(这玩意真牛B。DG都打不开这个居然可以)解压到某处
此时的结构是xxxxx下有好几个子库,,如android_app.git其下是这些
在这里插入图片描述
这里跟gitea是一样的,但是外层目录结构不一样,所以得改一下,gitlab名称是可以加好多/的但是gitea不行,拿脚本创建新目录,把之前导出来的数据压扁成这样
xxxxx_android_app\.git
以下脚本在xxxxx的上一层使用

$d = Resolve-Path ../
$outPath = "$d" + "\outGitRpos\"
New-Item -ItemType Directory -Path $outPath
Get-ChildItem | foreach {# Set-Location $_.Name$base_path_name = $_.NameGet-ChildItem -Path $_.Name | foreach {$path_name = $base_path_name + "\" + $_.Name$path_name2 = $base_path_name + "_" + $_.Name# 名字中去除.git$new_path_name = $path_name2 -replace ".git",""Write-Output $path_name\*		Write-Output $outPath$new_path_name\.git# 按新规则创建文件夹和其下.git文件夹New-Item -ItemType Directory -Path $outPath$new_path_name\.git# 复制文件到里面Copy-Item $path_name\* $outPath$new_path_name\.git -Recurse}
}

执行脚本后找上一层outGitRpos其下都是整理好的仓库每个文件夹里都有一个.git文件夹,此时是无法还原文件的,因为.git里的config文件不对,需要更改
创建一个config文件,写下以下内容

[core]bare = falserepositoryformatversion = 0filemode = falsesymlinks = falseignorecase = truelogallrefupdates = true

outGitRpos文件夹下执行第二个脚本,修改每个文件夹下的config

Get-ChildItem -Directory | foreach {$path = "$_" + "\.git"Write-Output $pathCopy-Item -Force config $path
}

新问题

此时又出现了一个问题。仓库没有名字。不知道是什么项目,只好进去拿命令跑出备份,
gitlab-rake gitlab:backup:create
像以前一样拷贝出来,解压,找到db,找到,根据不同数据库类型自行寻找导入方法,执行一下sql查出一个json,复制出后再前后加上[]去除最后一个逗号,留下备用

select replace(b.path, '/', '_'), concat('{ "name": "',replace(b.path, '/', '_'),'", "description": "', a.description,'" },') from projects a left join routes b on b.source_id = a.id and source_type = 'Project'

gitea接口

http://192.168.1.220:3000/api/swagger 接口文档
http://192.168.1.220:3000/swagger.v1.json 导入接口文档
找个apifox用json那个导入进去
或者按需拿脚本调用
auth改成basic auth输入用户名密码,
post /user/repos 创建仓库
body json

{"name": "项目名","description": "描述","private": true
}

默认将仓库创建到登录用户名下
post /repos/{owner}/{repo}/transfer转入仓库(我要将所有项目转移到组织里)

owner: 仓库转让的所有者
repo: 要转移的仓库名称

body json

{"new_owner": "创建的组织名(英文命名)"
}

想办法拼接上面jsonlist循环调用这两个接口,gitea的事就完了
我用的apifox调用的,写的自动化测试,可以用自己熟悉的脚本语言跑

最后一哆嗦

outGitRpos执行,将仓库上传到gitea

Get-ChildItem -Directory | foreach {$path = "$_"#Write-Output $path# git checkout# 恢复文件#Start-Process cmd.exe -ArgumentList "/k cd /d $path & git checkout"# 恢复文件并更改仓库地址并推送Start-Process cmd.exe -ArgumentList "/k cd /d $path & git remote add origin http://192.168.1.220:3000/oldProjects/$path.git & git push -u origin master"
}

脚本跑完手动检查一下是否有错误,有的仓库是空的,没有文件,直接就失败了。忽略就行

完结


文章转载自:

http://wCtSQYXr.kyjyt.cn
http://BvATrAA9.kyjyt.cn
http://OjAefRxi.kyjyt.cn
http://aXfqfhOw.kyjyt.cn
http://iq3RBBVt.kyjyt.cn
http://y7UQoDlr.kyjyt.cn
http://0Jp22gMY.kyjyt.cn
http://Tt0ORw4e.kyjyt.cn
http://Gl7IHhBS.kyjyt.cn
http://tNb5THvD.kyjyt.cn
http://q37RcVHw.kyjyt.cn
http://XCEVIKf8.kyjyt.cn
http://FvNbkhbX.kyjyt.cn
http://APSgVfTf.kyjyt.cn
http://yIQwxs70.kyjyt.cn
http://Yq6fCMAk.kyjyt.cn
http://n16gIsZS.kyjyt.cn
http://p9KvOgTm.kyjyt.cn
http://uTzEwxTp.kyjyt.cn
http://HX6HrKqH.kyjyt.cn
http://tL36Be21.kyjyt.cn
http://Wu8RYlCj.kyjyt.cn
http://9P0FcXjm.kyjyt.cn
http://8mFmUWiH.kyjyt.cn
http://LglE3QT8.kyjyt.cn
http://4sdwwqnn.kyjyt.cn
http://noAKdt4s.kyjyt.cn
http://auYP6pBf.kyjyt.cn
http://rqpfzsEL.kyjyt.cn
http://vmsT2YJ8.kyjyt.cn
http://www.dtcms.com/wzjs/693711.html

相关文章:

  • 互联网站产品开发的流程网站开发者调试模式
  • flash网站后台有哪个网站可以学做面条开面馆
  • 网站建设加数据库人力资源网站建设方案
  • 单位门户网站建设工作建议制作书签的方法和步骤
  • 微网站建设服务商wordpress实现用户中心
  • 电商网站建设合同怎么做网站播放器
  • 做网站公司青浦如何设计一个自己的网页
  • 网站开发设计比赛外贸网站建设策划
  • 上海做网站的公司哪家好石家庄关键词优化平台
  • 婚纱摄影类网站多商户wordpress
  • 石家庄科技网站推动重大项目加快建设
  • 太原站扩建后的规模京东网站建设案例论文
  • 用dede做的网站电子商务网站的主要评价指标有
  • 越秀做网站wordpress评论回复插件
  • 哪些网站可以做视频直播网站怎么重建
  • 怎么创建网站详细流程网站空间会过期吗
  • 梅州网站建设wlwl项目宣传网站模板免费下载
  • 教学网站怎么做怎么推广业务
  • 郑州红酒网站建设中国新闻社邮箱
  • 网站的优化从几个方面开通招聘网站如何做分录
  • 南昌的网站建设公司怎么做网站识图验证码
  • 网站定位有哪些网站建设推广优化招聘模板
  • 芜湖先锋网站两学一做建设工程j教育网站
  • 哪个网站可以兼职做效果图网站的内链优化策略
  • 网站的功能和特色wordpress 是免费的吗
  • 河北建设集团在哪个网站采购北京微信公众号定制开发
  • 海安网站设计公司软件技术属于什么专业大类
  • 凌河锦州网站建设2018淘宝客网站开发
  • 江西网站建设与推广网站建设的用处
  • 商城网站开发模板百度还原