zoukankan      html  css  js  c++  java
  • 如何将Android的AOSP仓库放置到自己的gitlab服务器上?

    平台

    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:
     
     
    查看:
     
     
     
    完。
  • 相关阅读:
    单链表
    队列

    面向对象的数组与查找算法
    线性结构
    数据结构与算法概述
    webstorm 格式化代码快捷键
    Web规范小记录1:Web文件规范
    豆瓣 API报错 ( "code":104 问题 )
    舔狗日记二之心灵日记(H5版本)
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/11007062.html
Copyright © 2011-2022 走看看