宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述Ubuntu下搭建repo服务器:搭建Android repo服务器相关的知识,希望能为你提供帮助。
1. 配置repo
1.1
下载git-repo.git(B端)
mkdir -p ~/gitCfg cd ~/gitCfg git clone https://gerrit.googlesource.com/git-repo git-repo.git
如果上面的地址无法连接,可以尝试下面的地址:
git clone https://review.mfunz.com/git-repo git-repo.git
1.2 配置repo(B端)
a) 将git-repo.git目录下的repo拷贝到 /usr/bin:
cd git-repo.git sudo cp repo /usr/bin/repo_gitadmin
b) 修改 repo
vi /usr/bin/repo_gitadmin
修改
REPO_URL = ‘https://gerrit.googlesource.com/git-repo‘ REPO_REV = ‘stable‘
为
REPO_URL = /home/gitadmin/gitCfg/git-repo.git REPO_REV = ‘master‘
其中,
REPO_URL: repo 所调用库和管理引用仓库;
REPO_REV: 本文设置分支为master,可进入git-repo.git用命令git branch查看:
cd git-repo.git git branch -avv
2. 创建版本根目录(A端)
2.1 如果已经存在 /home/git/repositories 目录,就不需要创建,否则:
sudo su git cd /home/git mkdir repositories
2.2 初始化manifest仓库
cd repositories git init --bare 17435/manifest.git
3. 配置default.xml文件(B端)
default.xml是跟android代码配套的,可参考google Android源码下的repo(.repo/manifests/default.xml)进行修改。
3.1 克隆manifest.git
mkdir/home/gitadmin/17435 cd/home/gitadmin/17435 git clone [email protected]:17435/manifest.git cd manifest.git
3.2 配置default.xml
vi default.xml
本文的配置如下:
< ?xml version="1.0" encoding="UTF-8"?> < manifest> < remotename="origin" fetch="git://192.168.1.126" /> < default revision="master" remote="origin" sync-j="4" /> < project path="build" name="platform/build" groups="pdk" > < copyfile src="https://www.songbingjia.com/android/core/root.mk" dest="Makefile" /> < /project> < project path="abi/cpp" name="platform/abi/cpp" groups="pdk" /> ... ...< /manifest>
将上面的default.xml 文件push 到仓库:
git add . git commit -m "InitCommit" git push 或者 git push --all
4. 建立相关的git 仓库(A端)
4.1 获取需要新建的仓库目录列表
cd /home/git/repositories/17435 cat default.xml | cut -d ‘"‘ -f 4 > repos_17435.txt
在repos_17435.txt中删除不必要的行,如manifest, Makefile等。
4.2 新建脚本repos_17435.sh
#/bin/bash set -x set -e pwd=${PWD}cd /home/git/repositories/17435 while read line; do if [ -z "$line" ]; then echo $work_dir not exist !!!!!!!!!! 1> & 2 continue fi git init --bare $line.git echo ==== $line pwd done
4.3 使用如下命令新建仓库
cat repos_17435.txt | . repos_17435.sh
5. 上传代码到仓库(B端)
5.1 拷贝Android代码到目录,
/home/gitadmin/17435/src
并清除其中git和svn等版本控制信息。
5.2 通过default.xml得到需要上传的仓库目录保存在src_17435.txt中
cd /home/gitadmin/17435/src cat /home/gitadmin/17435/manifest.git/default.xml | cut -d ‘"‘ -f 2 > src_17435.txt
编辑src_17435.txt,清除不必要的行。
5.3 新建脚本src_17435.sh如下:
#/bin/bashset -x set -epara1= work_dir=$1pwd=${PWD}while read line; do line1=${line%%/*} if [ -z "$line" ]; then echo $work_dir not exist !!!!!!!!!!!! 1> & 2 continue fi if [ $(ls -A $pwd/$line | wc -l) -eq 0 ]; then echo $work_dir empty !!!!!!!!!!!! 1> & 2 continue fi workdir=$pwd/$line echo ==== $workdir cd $workdir rm -rf .git git init .1> & 2 git add . -f 1> & 2 git commit -m "Initial commit" 1> & 2 if [ "$line1" = "device" ]; then git push --set-upstream git://192.168.1.126/17435/$line.git master elif [ "$line1" = "vendor" ]; then git push --set-upstream git://192.168.1.126/17435/$line.git master else git push --set-upstream git://192.168.1.126/17435/platform/$line.git master fi cd - done
5.4 使用如下命令上传代码到仓库:
cat src_17435.txt | . src_17435.sh
6. 下载代码
mkdir -p /home/gitadmin/17435/des cd /home/gitadmin/17435/des repo_gitadmin init -u git://192.168.1.126/17435/manifest.git
repo_gitadmin sync -f -j4
【Ubuntu下搭建repo服务器:搭建Android repo服务器】
推荐阅读
- windows XP原版最新系统推荐
- Android热补丁动态修复
- android 屏幕旋转
- Android 周报
- Android 设置图片透明度
- android的布局练习
- Android Studio第十四期 - Swipebacklayout最新版
- Android 仿微信朋友圈点击图片变暗
- Android 设置alpha值来制作透明与渐变效果的实例