平台

Ubuntu 18.04
GitLab Community Edition 11.11.0
 

参考

 

概述

    gitlab提供了一个可以运行在本地的免费的代码托管平台,就像一个本地的github,可以将自己的平时写的或者一些经典的开源程序下载下来,然后mirror到本地gitlab进行托管,比如Android。我们知道Android工程是有几百个大大小小的git工程组成,为了管理这些git工程,Android提供了repo。关于repo的用法,请参考:
 
 
 
    那么如何将Android的代码仓库mirror到本地的gitlab上呢? 下面以一个Android代码仓库中的一个git工程说明一下,清楚了一个怎么搞,其他的也不在话下,可以用脚本批量处理。
 

正文

一、搭建gitlab服务

 
 
 

二、下载Android代码

参考:
 
 
为了方便以后下载,先按照官网的推荐,建立的一个Android代码仓库的本地mirror,下载完成后,内容如下:
 
 
然后利用这个mirror,本地clone出一份Android代码,比如:
 
 
对应的manifest.xml文件如下(当然也可以只clone一份aosp_mirror/platform/manifest.git,然后切到tags为android-7.1.2_r36的分支):
 
 

三、上传到gitlab

1、首先需要往本地gitlab上传一个repo工程
 
在上面下载的aosp_mirror目录下有一个git-repo.git工程,这里需要将其上传到gitlab上,首先在gitlab上创建一个空的git-repo工程:
 
 
2、上传git-repo.git
 
进入git-repo.git目录下,执行如下命令:
 
 
 
执行完毕后,可以看到gitlab里的git-repo里已经有东西了:
 
 
 
3、上传一个git工程
 
 
以上面的manifest.xml中的build/soong为例,熟悉manifest.xml语法的话应该清楚,path表示将来会在本地创建build/soong目录,而name表示的是远程服务器中的路径。
 
为了简单起见,首先在gitlab上创建一个名为build_soong的空的git工程:
 
 
然后在aosp_mirror的platform下找到soong.git工程,进行上传:
 
 
此时gitlab上的build_soong工程里已经有内容了:
 
 
 
4、创建一个manifest工程,用于存放manifest.xml文件
 
 
 

四、下载测试

 
repo init:
 
 
 
repo sync:
 
 
查看:
 
 
 
完。
 
 
 
 

如何将Android的AOSP仓库放置到自己的gitlab服务器上?的更多相关文章

  1. github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器

    一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...

  2. Git系列②之部署企业级开源仓库gitlab服务器

    Git系列②之部署企业级开源仓库gitlab服务器 上一篇我们介绍了github的常见使用方法,下面开始部署本地开源仓库gitlab GitLab 是一个用于仓库管理系统的开源项目. 1.安装配置gi ...

  3. 如何搭建android源代码repo仓库

    如何搭建android源代码repo仓库 目录 如何搭建android源代码repo仓库 1 repo是如何管理仓库的? 1.1 repo如何工作的? 1.2 搭建repo服务需要做哪些事情? 2 部 ...

  4. android studio maven 仓库的使用

    转自:http://www.cnblogs.com/sihaixuan/p/4852974.html 原文:How to distribute your own Android library thr ...

  5. Android studio Maven仓库使用

    原文:How to distribute your own Android library through jCenter and Maven Central from Android Studio ...

  6. 免Root停用“Android键盘(AOSP)”

    一.效果:隐藏手机状态栏输入法选择图标: 二.手段:使用ADB免root 停用系统默认Android键盘(AOSP),这里参考了大神的方法,在此表示感谢: 三.实现过程: 上图 下面就是按照大神的方法 ...

  7. Android开发艺术探索——第二章:IPC机制(上)

    Android开发艺术探索--第二章:IPC机制(上) 本章主要讲解Android的IPC机制,首先介绍Android中的多进程概念以及多进程开发模式中常见的注意事项,接着介绍Android中的序列化 ...

  8. Android必知必会-使用okhttp的PUT方式上传文件

    注:如果移动端排版有问题,请看 简书版 (<-点击左边),希望CSDN能更好的支持移动端. 背景 公司的文件上传接口使用PUT协议,之前一直用的都是老项目中的上传类,现在项目中使用了okhttp ...

  9. Android BLE与终端通信(四)——实现服务器与客户端即时通讯功能

    Android BLE与终端通信(四)--实现服务器与客户端即时通讯功能 前面几篇一直在讲一些基础,其实说实话,蓝牙主要为多的还是一些概念性的东西,当你把概念都熟悉了之后,你会很简单的就可以实现一些逻 ...

随机推荐

  1. Set学习笔记

    今天又去看了一下STL里的set,来这里水一下博客 What is set? set的本质是一种功能受限的平衡树,不支持重复数字,也就是说如果插入一大堆数字12,输出它的长度还是1 如何定义 定义 s ...

  2. 【LG3322】[SDOI2015]排序

    [LG3322][SDOI2015]排序 题面 洛谷 题解 交换顺序显然不影响答案,所以每种本质不同的方案就给答案贡献次数的阶乘. 从小往大的交换每次至多\(4\)中决策,复杂度\(O(4^n)\). ...

  3. Linux】目录文件权限的查看和修改【转】

    转载自:http://zhaoyuqiang.blog.51cto.com/6328846/1214718 ============================================== ...

  4. 【IntelliJ IDEA学习之一】IntelliJ IDEA安装激活、VM参数

    版本:IntelliJIDEA2018.1.4 特点:比eclipse更耗内存 1.下载 官网下载专业版. 2.安装一直下一步即可. 3.配置文件修改 (1)VM参数 进入安装目录,进入bin目录下, ...

  5. 修改ARP缓存表大小

    在下发Mininet的ARP缓存表表项时,出现了如下的错误信息: SIOCSARP: No buffer space available 这是由于ARP表是缓存在内存中的,超过了系统对ARP缓存表大小 ...

  6. Docker从入门到实践(3)

    三.安装 Docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月. Docker CE 分为  ...

  7. Python3+selenium 报错处理:“selenium.common.exceptions.NoAlertPresentException: Message: No alert is active”

    一.说明 在使用python3+selenium写自动升级程序的时侯,碰到一个弹出对话框需要点击确认的场景.弹出的对话框如下图所示. 对于弹框各种资料都说通过switch_to.alert属性获取对话 ...

  8. ZYNQ笔记(5):软中断实现核间通信

    ZYNQ包括一个 FPGA 和两个 ARM,多个 ARM 核心相对独立的运行不同的任务,每个核心可能运行不同的操作系统或裸机程序,但是有一个主要核心,用来控制整个系统以及其他从核心的允许.因此我们可以 ...

  9. 软件——解决Modelsim10.1d窗口不停弹出问题(一直弹窗)

    博主在编写Verilog HDL时需要用到Modelsim,于是博主便安装了Modelsim10.1d,然后兴高采烈打开准备跑仿真时,打开软件发现Modelsim10.1d的各种窗口在不停弹出,终止进 ...

  10. SQL系列(四)—— 唯一值(distinct)

    有时需要查询某列上的不重复的数据,如: SELECT name FROM student; 结果: name lxy lxy lxy lxy 这样的结果显然不符合我们的需求.如何对列数据进行去重,查询 ...