GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。
团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
首先,你得拥有一台华为云的服务器,推荐的配置是4G内存以上,这里以最低配置为例:
通过xshell我们连接到该服务器:
安装gitlab需要在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget等,一般来说新购的华为云服务器上
防火墙、wget都是已有的,这里我们需要安装的就是ssh和postfix
在命令行中输入如下命令:
yum -y install policycoreutils openssh-server openssh-clients postfix
安装成功后可以开启相应的服务:
#开启SSH
> systemctl start sshd
#开启防火墙
> systemctl start firewalld
#将http服务添加到防火墙(注意添加permanent,表示永久生效)
> firewall-cmd --permanent --add-service=http
#开启邮箱服务
> systemctl start postfix
当然,为了使上述服务开机自启,可以使用如下命令将这些服务加入到开机自启中
systemctl enable sshd
systemctl enable firewalld
systemctl enable postfix
首先,我们添加Gitlab的镜像源:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-11.9.9-ce.0.el6.x86_64.rpm
这个镜像来自清华大学开源软件镜像站,这里我们使用了el6的11.9的版本(也是截止目前最新的版本),大家可以根据自己的需要来下载合适的版本。
然后,我们执行安装命令:
rpm -i gitlab-ce-11.9.9-ce.0.el6.x86_64.rpm
执行过程可能需要些时间,耐心等待后将出现如下信息:
此时表示Gitlab安装成功
接下来就是一些配置了,包括指定服务器IP、端口等:
输入如下命令:
vi /etc/gitlab/gitlab.rb
在文件中找到external_url
这里大家根据自己的需要进行修改,如果需要外网访问,可以直接写本地地址(如localhost、127.0.0.1)
查找‘listen_port’,修改相应的端口
Gitlab默认端口是8080,所以要注意这里设置的端口不能被占用,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口
一切配置完毕后我们就可以重置并启动gitlab服务了:
#重置配置
gitlab-ctl reconfigure
#启动gitlab
gitlab-ctl restart
当提示“ok:run:”表示启动成功
安装配置完后我们就可以通过网页来进行访问了
输入:http://ip:8080 初始账户为:root 首次登录的时候会要求重新设置密码
设置完后重新登录
之后我们就可以进行项目创建、用户创建、组创建和管理了。
1.在使用过程中我们可能常常会碰到用户密码忘记,特别是root密码,此时我们可以使用命令方式来进行密码更新:
#进入gitlab管理控制台
[root@ecs-vkp ~]# gitlab-rails console production
-------------------------------------------------------------------------------------
GitLab: 11.9.9 (ef034f6)
GitLab Shell: 8.7.1
postgresql: 9.6.11
-------------------------------------------------------------------------------------
Loading production environment (Rails 5.0.7.1)
#根据ID查找用户
irb(main):001:0> user=User.where(id:1).first
=> #
#设置新密码
irb(main):003:0> user.password=12345678
=> 12345678
#确认新密码
irb(main):006:0> user.password_confirmation=12345678
=> 12345678
#确认保存(注意save后面的!别忘记)
irb(main):007:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 1c14ddfa-20f8-4170-b05f-5f7914f9498a) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #>
=> true
#此时密码就重置成功了!
2.普通用户注册问题
由于一般的gitlab服务安装后我们并不会配置邮箱服务,所以注册用户收不到邮件,此时我们用root管理员账号进行用户创建,创建完后进入编辑页面设置密码即可:
其他的使用就看各位看官自行发挥了,Gitlab还是有很多可以研究的,包括数据备份、迁移等!
来源:华为云社区 作者:真爱无敌