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

网站建设龙兵科技手机导航网站模板

网站建设龙兵科技,手机导航网站模板,视频多平台发布,wordpress lms前言 参考 https://www.jianshu.com/p/b3d4e5cee835 适用于git私服拉取个人所涉及权限的代码,方便有多个项目权限的人快速拉取自己所有权限的代码。 默认生成目录结构与gitlab一致 步骤一:获取权限你的代码权限文件d 从gitlab私服生成所有你有权限的代码信息 …

前言

  • 参考 https://www.jianshu.com/p/b3d4e5cee835

  • 适用于git私服拉取个人所涉及权限的代码,方便有多个项目权限的人快速拉取自己所有权限的代码。

  • 默认生成目录结构与gitlab一致

步骤一:获取权限你的代码权限文件d

从gitlab私服生成所有你有权限的代码信息

请求地址:

http://gitlab.dstcar.com//api/v4/projects?simple=true&per_page=100&page=1

postman方式获取

cookies自己登录gitlab生成

gitlab限制每次只能拉100条数据,超过100条自己分页处理

获取cookies

 添加cookies

请求成功后保存json文件到指定地方(步骤二会用到) eg:放到D:\\gitlab_projects.json

 

步骤二:执行java代码

以下根据个人所需修改对应代码,一般只需要修改下载fileName和srcDir参数

  • 备注:有现成springboot项目你直接生成一个单元测试文件执行执行main方法,没有的话自己新建一个项目执行

  • import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.nio.charset.Charset;import org.springframework.util.StreamUtils;import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;/****/
    public class TestGitlabData {public static void main(String[] args) {//gittlab获取的权限文件String fileName = "D:\\gitlab_projects.json";String jsonStr = readJsonFile(fileName);JSONArray projects = JSON.parseArray(jsonStr);//指定需要下载的分支String branchName = "master";//尝试切换的分支String tryCheckOutBranchName = "develop";//指定下载后输出的地址String srcDir = "D:\\code";File execDir = new File(srcDir);if (!execDir.exists()) {boolean result = execDir.mkdirs();System.out.println("execDir.mkdirs = " + result);}int projectNum = 0;for (int i = 0; i < projects.size(); i++) {JSONObject prj = projects.getJSONObject(i);//项目地址
    //            String httpUrlToRepo = prj.getString("http_url_to_repo");String httpUrlToRepo = prj.getString("ssh_url_to_repo");//项目路径
    //            String pathWithNamespace = prj.getString("path_with_namespace");String pathWithNamespace = prj.getString("name_with_namespace").replaceAll(" ", "");System.out.println("拉取projectNum = " + ++projectNum);gitClone(branchName, httpUrlToRepo, pathWithNamespace, execDir);File tryDir = new File(srcDir + "\\" + pathWithNamespace);if (tryDir.exists()) {gitTryCheckOutBranch(tryCheckOutBranchName, tryDir);}}}private static void gitTryCheckOutBranch(String tryCheckOutBranchName, File execDir) {String command = String.format("git checkout  %s  ", tryCheckOutBranchName);try {System.out.println("===========start==================");System.out.println("start exec command : " + command);//执行命令行Process exec = Runtime.getRuntime().exec(command, null, execDir);exec.waitFor();String successResult = StreamUtils.copyToString(exec.getInputStream(), Charset.forName("UTF-8"));String errorResult = StreamUtils.copyToString(exec.getErrorStream(), Charset.forName("UTF-8"));System.out.println("successResult: " + successResult);System.out.println("errorResult: " + errorResult);System.out.println("============end================");} catch (Exception e) {e.printStackTrace();}}static void gitClone(String branchName, String httpUrlToRepo, String pathWithNamespace, File execDir) {String command = String.format("git clone -b %s %s %s ", branchName, httpUrlToRepo, pathWithNamespace);try {System.out.println("===========start==================");System.out.println("start exec command : " + command);//执行命令行Process exec = Runtime.getRuntime().exec(command, null, execDir);exec.waitFor();String successResult = StreamUtils.copyToString(exec.getInputStream(), Charset.forName("UTF-8"));String errorResult = StreamUtils.copyToString(exec.getErrorStream(), Charset.forName("UTF-8"));System.out.println("successResult: " + successResult);System.out.println("errorResult: " + errorResult);System.out.println("============end================");} catch (Exception e) {e.printStackTrace();}}public static String readJsonFile(String fileName) {String jsonStr = "";try {File jsonFile = new File(fileName);FileReader fileReader = new FileReader(jsonFile);Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8");int ch = 0;StringBuffer sb = new StringBuffer();while ((ch = reader.read()) != -1) {sb.append((char) ch);}fileReader.close();reader.close();jsonStr = sb.toString();return jsonStr;} catch (IOException e) {e.printStackTrace();return null;}}
    }

    实际效果为下来所有你有权限的代码并且尝试切换develop环境(你想尝试换其他环境也可以自行修改代码参数)

    目录结构跟gitlab一致

 

http://www.yayakq.cn/news/241493/

相关文章:

  • 洛阳网站的优化网站结构和布局区别
  • 用动态和静态设计一个网站建设银行网银登录
  • 深圳北斗部标平台网站建设重庆seo优化公司
  • 网站建设需求原型免费创建app网站
  • 青海省交通建设管理局网站农村自建房设计图效果图
  • 精品课程网站开发项目淘宝做网站的店
  • 大连网站搭建与推广网站出现转站怎么办
  • 交互动效库 网站国家建设部查询网站
  • 那个公司做网站好店铺设计案例
  • 福田响应式网站建设服务从化建网站
  • 弄一个网站网站安全检测工具网站
  • 音乐网站制作教程步骤西湖区商城网站建设
  • 百度门户网站wordpress wnmp
  • 7黄页网站建设东营建设局网站
  • 北京三原色ps网站黔西县住房和城乡建设局网站
  • 即墨网站建设招聘网站建设公司小江
  • 在网上做效果图赚钱的网站公司注册代理机构深圳
  • 大型 网站 建设 公司双公示 网站专栏建设
  • 360免费网站建设平台网站项目总体设计模板
  • 青岛做网站电话百度信息流推广平台
  • 网站切图大图惠州网站制作定制
  • 电视台网站策划书2023年可能倒闭的地产开发商
  • 网站开发与微信对接郴州刚刚发生的事
  • 温州市住房建设局网站wordpress 小熊资源网
  • 做搜狗网站西安网站维护公司
  • 广州网站建设 八爪鱼现在给别人做网站
  • ie 常用网站wordpress纯笔记主题
  • 做微商哪个网站好廊坊seo软件
  • 上海普陀门户网站建筑网站案例
  • 大学城网站开发公司想做视频