通过Shell脚本将VSS项目批量创建并且提交迁移至Gitlab
2017-11-24 23:56
886 查看
脚本运行环境:Git Bash
系统环境:Windows 10 Pro 1709
VSS版本:Microsoft Visual SourceSafe 2005
我的VSS工作目录结构如下:
D:\work\
--vss
----project1
------src
------README.md
------ ......
----project2
------doc
------src
------README.md
------ ......
----project3
------ ......
脚本代码:
系统环境:Windows 10 Pro 1709
VSS版本:Microsoft Visual SourceSafe 2005
我的VSS工作目录结构如下:
D:\work\
--vss
----project1
------src
------README.md
------ ......
----project2
------doc
------src
------README.md
------ ......
----project3
------ ......
脚本代码:
#!/bin/bash git config --global user.name "Allen" git config --global user.email allen@domain.com # Init params namespace=VssProjects # Group Name namespaceId=10 # Group Id rootPath=/d/work/vss # VSS work path index=0 folderList=[] # Each folders cd $rootPath for i in $(ls $rootPath) do echo $index $i folderList[index]=$i index=`expr $index + 1` done # Print folders length echo ${#folderList[@]} # Git Init for dirName in ${folderList[*]} do workPath=$rootPath/$dirName #项目工作目录 projectName=$dirName # 项目名称 data='{"name":"replacement","visibility":"private","namespace_id":namespaceId,"path":"replacement"}' # 待提交的JSON数据 postData=${data//replacement/$projectName} # 全部替换 postData=${data/namespaceId/$namespaceId} # 只替换一次 echo $postData # Gitlab Create Projects curl --header "Private-Token: your private token" \ -H "Accept: application/json" \ -H "Content-type: application/json" \ -X POST \ -d $postData \ http://git.domain.com/api/v4/projects # Git repository init & push cd $workPath git init git remote add origin http://username:password@domain.com/$namespace/$projectName.git touch README.md git add README.md git add . git commit -m "Init version" git push -u origin master done
相关文章推荐
- 通过linux的shell脚本批量创建用户名,用户名所属目录,设置对应密码
- 通过linux的shell脚本批量创建用户名,用户名所属目录,设置对应密码
- Git学习-->如何通过Shell脚本实现 监控Gitlab备份整个过程并且通过邮件通知得到备份结果?
- shell脚本第一篇——自定义创建用户和批量创建用户
- 通过shell脚本实现批量更改密码
- Python:在Linux下创建一个脚本并且自动修改权限,可以选择路径。批量生成脚本 。
- 通过脚本案例学习shell(三) --- 通过交互式脚本自动创建Apache虚拟主机 推荐
- shell脚本批量获取远程服务器多个项目的日志
- 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本 推荐
- 快速创建laravel项目shell脚本
- gitlab通过api创建组、项目、成员
- 通过shell批量检测集群跑数据是否异常脚本
- 做一个创建cocos2d-x新项目的shell脚本
- 通过shell脚本批量部署ssh私钥认证以及批量操作工具pssh的简单使用
- Apache下通过shell脚本提交网站404死链
- shell脚本:批量创建多个子目录及二级子目录
- shell 脚本 批量创建用户密码随机
- 学习Maven---通过Shell命令行创建Maven项目
- shell脚本批量创建用户
- hadoop-yarn集群中,通过shell脚本自动化提交spark任务