repo和docker的一些简单理解

1、repo

Android N之后公司开始了模块独立化的工作,每个模块独立仓库,模块独立化之后会省去很多的移植工作,但是拉代码的时候怎么办呢,这里就引入了repo,一开始不知道repo是个什么东西,以为是另一种区别于git,svn的版本管理工具,后来仔细研究了下repo的manifest文件,才恍然大悟。

我的理解repo就是一个对git命令封装的工具,要使用repo,编译服务器要先下载repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
如果有下载好的,就把把repo拷贝到服务器,放到/usr/bin/,执行
chmod +x /usr/bin/repo

mkdir ~/bin/
cp repo ~/bin/
chmod +x ~/bin/repo
vi ~/.bashrc
在最后一行插入 export PATH=$PATH:~/bin/
source ~/.bashrc
然后找到项目配置的manifest.xml文件,执行
repo init -m 项目配置文件名称
repo sync
就开始下载代码了,大家仔细看看这个xml文件,就能理解repo的原理,其实就是将一个一个独立的git仓库代码统一管理

2、docker

什么是docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
为什么要引入docker?
Android N的服务器编译环境与android M服务器编译环境不兼容,但是又不能升级到Android N的环境,因为还有Android M的项目,会编译不了,所以引入docker,就相当于一个虚拟机去编译Android N的代码。
怎么使用docker?
1)备份原文件:sudo mv /etc/apt/sources.list /etc/apt/sources.list_bak
2)更新源填写以下内容: sudo vi /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
3)执行sudo apt-get update
4)curl -fsSL https://get.docker.com/ | sh
如果获取不到的话 cat docker_install.sh | sh
5) 执行此语句,在上条语句运行完后,会有如sudo usermod -aG docker XXX的提示,请复制后执行即可
6)然后生成Android N编译环境的镜像,比如叫ubuntu14.04-androidN,复制此文件到你的编译环境中
7)重要的一步,请重新登录你的Ubuntu编译环境

8)在你的编译环境ubuntu14.04-androidN所在的目录执行以下命令加载镜像文件:
docker load -i ubuntu14.04-androidN

9) 查看系统已安装的镜像:
docker images
可以看到以下显示
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu14.04-jdk8 androidN 9d81807707cc 21 hours ago 944.1 MB

10)运行镜像文件(启动容器/虚拟机):
docker run -it -v local_path:remote_path –name XXXXX ubuntu14.04-jdk8:androidN /bin/bash
备注说明: local_path表示写你的ubuntu的本地家目录的地址。可以通过运行echo $HOME获取到家目录地址
remote_path表示运行到虚拟机中的地址,可以保持与 local_path一致
XXXXX 命名你的虚拟机名称,如ubuntu1404,便于后续重新登录

11)退出虚拟机:
ctrl +p, 然后再 ctrl +q (注:一定不要用exit)
12)查看当前运行的虚拟机:
docker ps
13) 重新进入虚拟机:
docker attach XXXXX (xxx是运行时指定的名称)

这样就进入了docker虚拟机,然后就可以编译了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值