gitlab搭建和管理项目

Gitlab介绍

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

安装gitlab-ce

基础环境

1
2
3
4
5
$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
$ uname -r
3.10.0-514.el7.x86_64

更换阿里yum源

参考地址

1
2
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

基础环境配置

关闭防火墙

1
$ systemctl stop firewalld.service

关闭SELinux

1
2
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
$ setenforce 0

安装相关依赖

1
$ yum -y install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix git

启动postfix

1
$ systemctl start postfix

安装gitlab-ce

1
2
3
4
5
6
7
8
9
10
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ yum install -y gitlab-ce
# 配置gitlab
$ gitlab-ctl reconfigure
# gitlab 服务管理命令
$ gitlab-ctl start
$ gitlab-ctl stop
$ gitlab-ctl restart
$ gitlab-ctl status

配置gitlab

使用IP或域名访问项目

1
2
3
4
$ grep "^external_url" /etc/gitlab/gitlab.rb
external_url 'http://192.168.56.101'
# 修改后需要重新配置
$ gitlab-ctl reconfigure

关闭注册

因为我们内部使用不需要用户自己注册,由运维分配用户即可

  • 点击右上角Admin area

  • 点击设置按钮-> settings

  • 找到sign-up去掉勾即可

注意保持在最下边噢,千万别忘了。然后退出用户你就会发现没有注册页面了。

创建项目

提示: gitlab上面有一个项目跟组的概念,我们要创建一个组,才可以在创建一个项目。因为gitlab的路径上首先是ip地址,其次是组

  • 点击右上角Admin area

  • 创建组

  • 下一步

注意下边的create group保存噢

  • 创建项目
    点击左上角,展开按钮点击project -> new project

  • 添加README
    点击README,写入项目信息,提交。

  • 免秘钥认证
    使用ssh-keygen生成秘钥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/carey/.ssh/id_rsa):
Created directory '/home/carey/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/carey/.ssh/id_rsa.
Your public key has been saved in /home/carey/.ssh/id_rsa.pub.
The key fingerprint is:
ac:32:bd:3c:77:98:0b:29:f9:75:a9:9b:fa:f1:8b:25 carey@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . |
| S |
| o o . |
| = = Eo+ |
| *.++X. |
| ==B+o. |
+-----------------+
  • 复制id_rsa.pubgitlab
1
2
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnjxAg7yZlm7wct8A1nQI9x30RLRclV0Q8J9ZfXPX5JAvwfn7YfHd8fNOVpHGWg0H8iWgh0VykuYa8nne2qlbJgQ8ny5QotYvP6VYoput22oryFCSyLKITA8QaJEFSU6xy0qORXf+o8GjdLVjyJRHX/f6kc6rzxbXXecVLj8V4xNX+WV1RfN5LWykP3tFvysV5Z4quoQNCe51wsmXvuxxJ2t96eDJw9T0wyoGQ1bYPzkq7t9KKqQxzRodEKmg7PN9VRggsBL6Bl/gwnIJrM28BHSHtevknc1SOQ8UtqJyN3u1Vtv2DV/bPeNCD1GnMMcMepMy5wTjOY2t+NjS9hO2R carey@localhost.localdomain

点击右上角 设置 按钮 -> SSH Keys,复制id_rsa.pubgitlab

提示: 内部访问所有访问project的主机都需要添加keys

Git参考资料

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器