1、概述
本文档简单描述如何搭建服务器及如何使用 repo,如有问题请与Rockchip联系,反馈给文档作者完善内容。阅读本文档前,请先理解 git 相关命令及概念。
2、镜像服务器建立
2.1 GITOLITE 搭建
2.1.1 服务器端操作:
a) 创建 git 账户:
sudo adduser --system --shell /bin/bash --group git
sudo passwd git
b) 下载源码
c) 以“git”账户登录
linux 系统/ 或者直接:su - git
d) 确保“~/.ssh/authorized_keys”为空或者不存在。
e) 拷贝服务器管理员的公钥到“$HOME/YourName.pub”。
f) 执行:mkdir -p $HOME/bin
g) 执行下列命令安装,不同版本安装方法不同,请参考源码中的文档:gitolite/install -to $HOME/bin
h) 执行:$HOME/bin/gitolite setup -pk YourName.pub (管理员的公钥)
2.1.2 给 GIT
用户添加下载权限
如果没有就在$HOME 帐号下建一个.shh 隐藏目录,并且把管理员帐号下面的 id_rsa 复制到刚建立的.ssh 下
cp /home/xx/.ssh/id_rda /home/git/.shh/ -rf
切到
root 帐号下
sudo su
更改组权限
chown git:git id_rsa*
退出 ROOT
exit
登录 git 帐号
su - git
改权限
sudo chmod 600 .ssh/id_rsa*
2.1.3 客户端操作:
本节介绍如何使用 gitolite-admin 来管理服务器权限。相关概念资料,请搜索 progit 文档阅读理
解。
a) 克隆 gitolite 管理仓库:
git clone ssh://git@host/gitolite-admin.git
说明:/git@host
host 表示服务器的 IP 地址或域名
例如,服务器的 IP 是 192.168.1.200
那 git 管理仓库是 git clone ssh://git@192.168.1.200/gitolite-admin.git
b) 添加用户公钥
cp username.pub keydir/username.pub
c) 添加管理员用户
vi conf/gitolite.conf
@admin = admin1 admin2 admin3
repo gitolite-admin
RW+ = @admin
d) 提交生效
每次修改 conf/gitolite.conf 内容都要提交才会生效
git add conf/gitolite.conf
git co
MMIt “add usergroup”
git push origin master
2.2 REPO 镜像
2.2.1 初始化镜像仓库
2.2.1.1 服务器端操作:
获取原始 repo 工具
初始化镜像仓库:
cd repositroies
mkdir repo ; cd repo (repo 目录名字可以换,后面相应目录名字都得换)
~/repo/repo init --mirror --repo-url ssh://git@www.rockchip.com.cn/repo/rk/tools/repo -u ss
h://git@www.rockchip.com.cn/repo/rk/platform/manifest -b
Android-4.4 -m
RK3188_android
4.4.1.xml
.repo/repo/repo sync
备注:下载可能遇到问题:
下载代码失败有几个原因
一个没有.bashrc 文件
需要从其它帐户下 COPY 过来并且权限改成自己的组,并且要用 keychain 管理具体使用方法如下:
1. 安装 keychain 软件包:$sudo aptitude install keychain
2. 配置使用密钥:
$vim ~/.bashrc
增加下面这行:
eval `keychain --eval ~/.ssh/id_rsa`
其中,id_rsa 是私钥文件名称。
执行 source ~/.bashrc 后,成功会有如下提示:
* Found existing ssh-agent (22251)
* Adding 1 ssh key(s)...
Enter passphrase for /home/git/.ssh/id_rsa:
* Error: Problem adding; giving up
KeyChain 2.6.8;
http://www.gentoo.org/proj/en/keychain/
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL
* Initializing /home/git/.keychain/lushen-sh file...
* Initializing /home/git/.keychain/lushen-csh file...
* Initializing /home/git/.keychain/lushen-fish file...
*
starting ssh-agent
* Warning: /home/git/.ssh/id_rsa.pub missing; can't tell if /home/git/.ssh/id_rsa is loaded
......
更多详细内容请下载附件查看