Gitbucket—快速建立自己的Github

GitBucket是一个用Scala语言编写的类似Github的应用,界面非常相似。它非常容易安装–容易到你只需要把它的war文件扔到tomcat中,然后启动tomcat就直接可以访问了。或者直接java执行它就可以运行了!
现在版本(3.2)的GitBucket提供了下面的基本功能:
公有/私有Git仓库(HTTP和SSH访问,内部已经集成了SSH服务器)
在线查看和编辑仓库代码
· 搜索(代码和Issue)
· Wiki
· Issues
· Fork / Pull request
· 邮件通知
· 活动时间线
· 用户管理(管理员)
· 用户组(和Github的组织类似)
· LDAP支持
· Gravatar支持
下面的特性讲会在以后的版本中支持:
· 网络图
· 统计
· 观看次数/打星(Watch/Star)

1. 运行gitbucket

上面提到了它可以通过两种方式运行,在release page中下载最新的war包,直接使用java -jar gitbucket.war(当然需要1.7以上的JRE环境)就可以运行,可以指定下面几个参数:
--port=[NUMBER]
--prefix=[CONTEXTPATH]
--host=[HOSTNAME]
--gitbucket.home=[DATA_DIR]
如果没有指定–gitbucket.home,它会把数据保存在$HOME/.gitbucket下面,包括用户数据库信息以及repositories。所以只把这个目录备份就可以了,是不是很方便。

2. 配置gitbucket

打开http://[hostname]:8080/(如果没有指定--port更换端口的话),就可以看到登录界面,输入root/root登录到主界面中。在右上角Account Setting中可以设置新密码、用户信息、SSH公钥等信息,那么首先为这个超级管理员配置一个新的密码吧。
account_setting
在右上角的Administration里可以添加新的用户/组,设置新的系统信息。系统信息里几个重要的配置项包括:
Base URL:用于重定向、git repository地址等。这个地址需要先设置DNS后配置,是必须要设置的。
Information:站点信息。
Account registration:是否给公众开放账户注册功能。
Default option to create a new repository:默认创建repository是public还是private。其中所有用户和访客都可以读取public repository,而只有collaborator才能读取private repository。
Anonymous access: 是否允许匿名用户访问public repository。选择deny则任何信息必须验证后才能访问。对于企业内部服务,一般选择deny阻止所有匿名用户的访问。
SSH access:是否启用SSH服务,如果使用需要每个用户在自己的User profile中上传自己的public key。另外,可以配置一个SSH服务使用的端口,默认是29418。
LDAP authentication/Notifacation email:不多作介绍了。

3. 使用repository

在创建好自己的用户登录后,左侧的new repository就可以建立新的repository。这里我们用一个README.md来初始化。
newrepo
完成后就可以看到和github类似的项目首页,代码都可以在线编辑,灰常方便。比如我们来编辑README.md这个markdown语句。
editreadme
我们可以通过git clone http://[your-server-ip]:8080/git/[your-username]/[repository-name].git来克隆这个repository(主页右侧有这个repository的HTTP和SSH的URL提示。)。之后可以通过git push上传本地的version。项目首页上有commits, branches和releases的历史回顾,功能很全面。
右侧项目Wiki可以让我们编辑markdown格式的wiki页面,issue可以让其他人提交issues of bugs,而Setting里可以设置我们的collaborators了:
managecollabratorator
其他先不多说了,gitbucket简单好用,向gitbucket的作者致敬!
^^

Posted in Ops, Tools.