Gitolite安装
10 June 2015
准备
- docker
- docker ubuntu 镜像
- openssh-server
- postfix
- msmtp
- gitolite : https://github.com/sitaramc/gitolite
gitolite使用
gitolite 是一款基于 ssh 的轻量级 git 服务器。 gitolite在初始化的时候会自己创建一个 gitolite-admin 的项目,并通过它来来管理所有项目的权限及配置。
gitolite安装
- 登录需要安装gitolite的服务器
- 创建git用户并使用git用户安装gitolite
- 代码下载 : git clone https://github.com/sitaramc/gitolite
- 选择其中一个版本, 这里我们选择 v3.6.3
- 安装gitolite到 ~/bin 目录
gitolite说明 : https://m.oschina.net/blog/330617
gitolite新建项目
在新建项目之前必须先有项目管理员的公钥, 可通过以下命令生成公私钥对:
ssh-keygen -f /home/joans/.ssh/id_rsa -t rsa -N ''
把生成的公钥文件(/home/joans/.ssh/id_rsa.pub)上传到服务器上. 然后以git用户登录服务器,执行创建操作:
gitolite setup -pk YourName.pub
之后就可以在自己的机器上下载 gitolite-admin 项目来管理所有的项目了。
gitolite导入项目
如果之前使用过 gitolite 并已经创建几个项目在 repositories 目录下了。由于种种原因需要在新的 gitolite 上导入原有的项目及其权限。可以通过以下步骤来完成导入工作:
cd /home/git/repositories/gitolite-admin.git
GL_LIBDIR=$(gitolite query-rc GL_LIBDIR) hooks/post-update refs/heads/master
gitolite发送邮件
-
发送邮件服务器
可以选择使用postfix或者msmtp
-
邮件发送者
默认是git commit Author的邮箱, 可以通过 hooks.envelopesender 定制
-
邮件接收者
需要通过 hooks.mailinglist 配置
- 邮件主题
- 邮件内容
Dockerfile
项目链接 : https://registry.hub.docker.com/u/joans321/gitolite/