##文章来自于:carey.akhack.com
Gitlab介绍
GitLab
是一个利用 Ruby on Rails
开发的开源应用程序,实现一个自托管的Git
项目仓库,可通过Web界面进行访问公开的或者私人项目。GitLab
拥有与Github
类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
安装gitlab-ce
基础环境
$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
$ uname -r
3.10.0-514.el7.x86_64
更换阿里yum源
$ 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
基础环境配置
关闭防火墙
$ systemctl stop firewalld.service
关闭SELinux
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
$ setenforce 0
安装相关依赖
$ yum -y install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix git
启动postfix
$ systemctl start postfix
安装gitlab-ce
$ 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或域名访问项目
$ 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
生成秘钥
$ 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.pub
到gitlab
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnjxAg7yZlm7wct8A1nQI9x30RLRclV0Q8J9ZfXPX5JAvwfn7YfHd8fNOVpHGWg0H8iWgh0VykuYa8nne2qlbJgQ8ny5QotYvP6VYoput22oryFCSyLKITA8QaJEFSU6xy0qORXf+o8GjdLVjyJRHX/f6kc6rzxbXXecVLj8V4xNX+WV1RfN5LWykP3tFvysV5Z4quoQNCe51wsmXvuxxJ2t96eDJw9T0wyoGQ1bYPzkq7t9KKqQxzRodEKmg7PN9VRggsBL6Bl/gwnIJrM28BHSHtevknc1SOQ8UtqJyN3u1Vtv2DV/bPeNCD1GnMMcMepMy5wTjOY2t+NjS9hO2R carey@localhost.localdomain
点击右上角 设置 按钮 ->
SSH Keys
,复制id_rsa.pub
到gitlab
。提示: 内部访问所有访问
project
的主机都需要添加keys