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>

  <remote  name="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="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 "Init  Commit"
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/bash

set -x
set -e

para1=
work_dir=$1

pwd=${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.gitrepo_gitadmin sync -f -j4
时间: 2024-11-06 19:24:45

Ubuntu下搭建repo服务器(三): 搭建Android repo服务器的相关文章

【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建

(1)首先选择一个路径用来存放arm-linux-gcc.我选用的是/home/book,并在下面建立一个文件夹arm-linux-gcc. (2)利用cp EABI-4.3.3_Emdedsky_20100610.tar.bz2 arm-linux-gcc,将压缩包EABI-4.3.3_Emdedsky_20100610.tar.bz2复制到arm-linux-gcc中 (3)解压EABI-4.3.3_Emdedsky_20100610.tar.bz2 记录下文件的存放目录: (4)配置系统环

ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用

作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 摘要:本文主要介绍将FFmpeg音视频编解码库移植到Android平台上的编译和基本测试过程. 环境准备: Ubuntu12.04 TLS android-ndk-r9d-linux-x86_64.tar.bz2 ffmpeg2.2 --------------------

ubuntu 下应用 Python 和 SL4A 的 Android 应用程序搭建您自己的android研发环境

转载自:http://code.qtuba.com/article-50680.html 最近在看<head first python>,书中有讲python在android中进行开发的章节,但需要弄一个Android模拟器,于是我就在ubuntu上开始折腾了. 一.由于Android SDK是运行在java之上的,所以得配置jdk 在oracle的官网我下载了jdk7 的专为linux的32位安装包   jdk-7u55-linux-i586.tar.gz 然后我在 /usr 下应用 mkd

Ubuntu下NFS,TFTP服务搭建

环境:Ubuntu 一. 搭建NFS服务器 (1)安装: sudo apt-get install nfs-kernel-server   #安装NFS服务器端 sudo apt-get install nfs-common #安装NFS客户端 (2)添加NFS共享目录 1)创建共享文件夹,如/nfsroot: mkdir /nfsroot sudo chmod -R 777 /nfsroot sudo chmod -R nobody /nfsroot 2)添加共享路径:sudo vi /etc

ubuntu下php开发环境快速搭建

关于快速搭建php环境的步骤:https://jingyan.baidu.com/article/ca00d56c42b78ee99eebcf3c.html. 我遇到的一些问题: 在安装了apache服务器之后,默认apache网站root目录并不是网上所说的 /var/www目录. 解决办法: 使用命令查看相关配置文件: 1 sudo gedit /etc/apache2/apache2.conf 2 sudo gedit /etc/apache2/httpd.conf 3 sudo gedi

第一章:Ubuntu 下python开发环境的搭建

一.安装python3 ubuntu自身是安装python2的,例如在ubuntu 16.04中安装的就是python2.7.但我想在python3的环境下进行开发所以就要安装python3.但由于ubuntu很多底层采用python2因此在安装python3是不能卸载python2.执行以下命令行: sudo cp /usr/bin/python /usr/bin/python_bak sudo rm /usr/bin/python sudo ln -s /usr/bin/python3.5

Ubuntu下ROS&amp;&amp;Kinect&amp;&amp;ORB-SLAM环境搭建

首先了解一下什么是ORB-SLAM https://blog.csdn.net/u010128736/article/details/53157605 有空看看源码,感觉还是有点意思的 实验室给了个intel nuc,i5的核 系统是ubuntu 14.04(好老) opencv的版本是2.4.9(好老) emmmmm估计是台服役了挺久的老机子 目前是需要在这个nuc上装好ros,kinect驱动,还有个orb-slam2的环境 给机子update&upgrade了一下,应该是已经换了清华源,速

Ubuntu下kafka集群环境搭建及测试

1,解压 [email protected]1:/usr/local# tar zxvf kafka_2.11-0.8.2.2.tgz 2,重命名 [email protected]1:/usr/local# mv /usr/local/kafka_2.11-0.8.2.2 /usr/local/kafka 3,起zookeeper集群到指定后台文件(不占用页面) [email protected]1:/usr/local/kafka# bin/zookeeper-server-start.sh

Linux -- ubuntu下安装程序的三种方法

引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了. sudo apt-get install build-essential 执行上述命令以后,我们可以看到一下信息,The fol

ubuntu下安装程序的三种方法

引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了. sudo apt-get install build-essential 执行上述命令以后,我们可以看到一下信息,The fol