gitlab服务器安装/配置/使用/备份/恢复
——在windows虚拟机virtualbox中的ubuntu14.04系统
今天花了一上午时间把自己的gitlab服务器搭建起来。
本文的目的主要是为初学者提供一个完整的gitlab服务器从安装配置到备份恢复的流程,以节省时间,也作为自己备忘。
主要流程:
1) 安装vitualbox并安装ubuntu系统(已有的,或者在本机搭建的跳过)
2) 安装官网流程安装gitlab
3) 进行一些简单的配置
4) 登录gitlab并使用
5) 备份和恢复
本文并不会讲git的使用方法。
1.安装vitualbox并安装ubuntu系统
a)下载安装包:https://www.virtualbox.org/wiki/Downloads并安装
最好将拓展包也下载了,virtualbox安装后,直接点击下载的拓展包即可完成安装。
b)下载ubuntu系统安装包(建议14.04) http://releases.ubuntu.com/14.04/
c)在virtualbox中安装ubuntu
创建完成后,选中刚刚创建的虚拟机点击启动即可,启动后即进去正常的ubuntu安装界面,安装提示安装系统即可。
2.安装官网流程安装gitlab
按照官网https://about.gitlab.com/downloads/的步骤即可:
sudoapt-get install openssh-server
sudoapt-get install postfix
wgethttps://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.9.1-omnibus.1-1_amd64.deb
sudodpkg -i gitlab_7.9.1-omnibus.1-1_amd64.deb
sudogitlab-ctl reconfigure
其中,第三个命令是下载gitlab的安装包,如果不能下载成功可以使用迅雷下载试试。(我自己用迅雷下载成功)
如果在本机上使用迅雷下载,需要将安装包拷贝到ubuntu的根目录。对于virtual虚拟机最简单的办法是使用目录共享。点击“设备”—>共享文件夹:
然后在/media 目录下将会出项了一个和你共享文件夹名称同名的文件夹。(访问该文件夹是需要root权限的)
也可以设置端口转发,然后用scp拷贝过去。
3.进行一些简单的配置
1.本机访问
正常情况下这是时候其实已经可以使用gitlab了。在ubuntu的浏览器地址栏输入127.0.0.1即可进入gitlab页面。
2.修改端口(80端口未被占用的忽略这条)
如果80端口已经被分配使用(例如之前ubuntu已经作为网页服务器),可以修改之前服务的端口,或者修改gitlab使用的端口。
修改/etc/gitlab/gitlab.rb
例如sudo vim /etc/gitlab/gitlab.rb
在external_url后面加入:81(新的端口号)
这样在地址栏输入127.0.0.1:81即可登录gitlab页面。
3.端口转发(未使用虚拟机的忽略这条)
至此,只能在本机访问gitlab,为了让其他计算机可以访问虚拟机里的gitlab服务,需要对virtualbox设置端口转发,把ubuntu的gitlab端口转发到宿主机的80端口。
点击“控制”à“设置”:
这样,你就可以在其他计算机使用gitlab服务了。如果你有一个固定的全局ip,就可以在任何时间任何地点使用gitlab服务了。
对于局域网内的计算机,为了在外网访问,还需要设置路由的端口转发或者vpn。
对于动态分配的ip,暂时还不知道怎么解决,如果有知道的还请不吝赐教~
4.登录gitlab并使用
默认的账户是root,密码是5iveL!fe
首次登陆会提醒修改密码。
Gitlab管理代码非常方便,登陆后点击页面左少角的dashboard图标即可进入项目管理也页面:
页面右侧会显示现有的project,当然刚开始时没有的。新建project很简单,点击new project:
然后输入项目名称和描述,点击Create Project即可。
新建的project页面会有提示怎么在本地操作该project。
但是这时候push还不能使用,需要在使用git的机器上生成ssh-key然后把公钥放到gitlab服务器。点击屏幕右上角的用户图标,进入用户信息管理页面,点击“Edit Profile Settings” ,然后,点击右侧的SSH Keys进行添加即可。
另外,gitlab默认不允许直接对master分支进行push,需要checkout一个新的分支,例如dev,在dev分支push,然后merge到master。
5.备份和恢复
备份:
gitlab-rake gitlab:backup:create
将会备份在目录/var/opt/gitlab/backups 中,例如123456789_gitlab_backup.tar
其中123456789是自动生成的本次备份的编号。
恢复:
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从1393513186编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=123456789(备份的编号)
# 启动Gitlab
sudo gitlab-ctl start
对于虚拟机,可以在把该tar文件通过共享目录复制到宿主机器上,进行备份,更保险的办法是备份到不同的机器上。