如何將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:
 
 
查看:
 
 
 
完。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM