如何將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工程說明一下,清楚了一個怎麼搞,其餘的也不在話下,能夠用腳本批量處理。
 

正文

1、搭建gitlab服務

 
 
 

2、下載Android代碼

參考:
 
 
爲了方便之後下載,先按照官網的推薦,創建的一個Android代碼倉庫的本地mirror,下載完成後,內容以下:
 
 
而後利用這個mirror,本地clone出一份Android代碼,好比:
 
 
對應的manifest.xml文件以下(固然也能夠只clone一份aosp_mirror/platform/manifest.git,而後切到tags爲android-7.1.2_r36的分支):
 
 

3、上傳到gitlab

一、首先須要往本地gitlab上傳一個repo工程
 
在上面下載的aosp_mirror目錄下有一個git-repo.git工程,這裏須要將其上傳到gitlab上,首先在gitlab上建立一個空的git-repo工程:
 
 
二、上傳git-repo.git
 
進入git-repo.git目錄下,執行以下命令:
 
 
 
執行完畢後,能夠看到gitlab裏的git-repo裏已經有東西了:
 
 
 
三、上傳一個git工程
 
 
以上面的manifest.xml中的build/soong爲例,熟悉manifest.xml語法的話應該清楚,path表示未來會在本地建立build/soong目錄,而name表示的是遠程服務器中的路徑。
 
爲了簡單起見,首先在gitlab上建立一個名爲build_soong的空的git工程:
 
 
而後在aosp_mirror的platform下找到soong.git工程,進行上傳:
 
 
此時gitlab上的build_soong工程裏已經有內容了:
 
 
 
四、建立一個manifest工程,用於存放manifest.xml文件
 
 
 

4、下載測試

 
repo init:
 
 
 
repo sync:
 
 
查看:
 
 
 
完。
相關文章
相關標籤/搜索