1. 使用docker安装

docker run  -dit \
 --hostname 106.54.212.69 \
  --publish 8501:443 --publish 8500:80 --publish 8502:22 \
  --name gitlab --restart always \
  --volume /home/gitlab/config:/etc/gitlab \
  --volume /home/gitlab/logs:/var/log/gitlab \
  --volume /home/gitlab/data:/var/opt/gitlab \
  --detach gitlab/gitlab-ce:latest

1.1 修改配置

配置文件在/home/gitlab/config 中,主要修改 gitlab.rb文件

external_url 'http://106.54.212.69'
gitlab_rails['gitlab_ssh_host'] = '106.54.212.69'
gitlab_rails['gitlab_shell_ssh_port'] = 8502

# 开启LDAP https://docs.gitlab.com/omnibus/settings/ldap.html
gitlab_rails['ldap_enabled'] = true
gitlab_rails['prevent_ldap_sign_in'] = false
gitlab_rails['ldap_servers'] = YAML.load <<-EOS
main:
  label: 'LDAP'
  host: '106.54.212.69'
  port: 389
  uid: 'cn'
  encryption: 'plain'
  bind_dn: 'cn=admin,dc=domain,dc=com'
  password: '123456'
  smartcard_auth: false
  active_directory: true
  allow_username_or_email_login: false
  lowercase_usernames: false
  block_auto_created_users: false
  base: 'ou=gitlab,dc=domain,dc=com'
  user_filter: ''
  ## EE only
  group_base: ''
  admin_group: ''
  sync_ssh_keys: false
EOS

ssh_port 也就是上面你映射的 22 端口,后面 git clone 仓库时就是使用的该地址

1.2 重新加载配置

需要进入到docker内部重新加载一下新配置

docker exec -it gitlab /bin/bash

gitlab-ctl reconfigure

需要等待一会,如果长时间不动,直接 ctrl + c 就OK了

重启容器

docker restart gitlab

管理员账户

  • 初始账户: root
  • 密码: 第一次进入会让你修改

关闭注册

gitlab 仓库邀请 gitlab新建仓库_git


gitlab 仓库邀请 gitlab新建仓库_ldap_02

取消勾选即可

2. 非docker安装

2.1 关闭防火墙

# 关闭防火墙
systemctl stop firewalld

# 阻止防火墙开机自启
systemctl disable firewalld

2.2 安装sshd

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

2.3 安装邮件服务

主要是为了gitlab能通过邮件进行通知

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

2.4 安装gitlab

gitlab的安装地址为:https://docs.gitlab.com/omnibus/manual_install.html

有社区版(ce)和企业版(ee),这里建议你使用企业版

安装脚本地址:https://packages.gitlab.com/gitlab/gitlab-ee/install#bash-rpm

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

安装

yum install -y gitlab-ee

gitlab-ee会被安装/opt/gitlab目录下可通过下面命令查看

rpm -ql gitlab-ee | less

3. 配置gitlab

配置项非常多,这里我们就简单配置下gitlab的地址与端口
gitlab的配置文件在/etc/gitlab/目录下,主要配置文件为gitlab.rb

详细配置可查看文档:https://docs.gitlab.com/omnibus/settings/configuration.html

更改gitlab地址

改: external_url 'http://gitlab.example.com'
为: external_url 'http://139.189.64.100:8500' #你的IP地址或域名

改: # unicorn['port'] = 8080
为: unicorn['port'] = 8500

更改SSH

gitlab_rails['gitlab_ssh_host'] = '139.189.64.100'
gitlab_rails['gitlab_shell_ssh_port'] = 8502

设置邮箱
这里以163邮箱为例,QQ邮箱设置与其类似

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "test@163.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "test@163.com"

重新加载配置文件

sudo gitlab-ctl reconfigure

这个过程有点慢,耐心等待…

重启gitlab

gitlab-ctl restart

浏览器打开该地址,第一次进入,会让你设置密码

gitlab 仓库邀请 gitlab新建仓库_git_03

4. gitlab基本操作

4.1 创建群组

企业内部使用,可以创建一个群组,方便我们后期管理我们的项目

gitlab 仓库邀请 gitlab新建仓库_ldap_04


gitlab 仓库邀请 gitlab新建仓库_gitlab_05

4.2 创建项目

gitlab 仓库邀请 gitlab新建仓库_gitlab 仓库邀请_06


gitlab 仓库邀请 gitlab新建仓库_gitlab 仓库邀请_07


新创建的项目,要新增一个文件,不然master分支什么的都不会出来,有点坑设置提交权限

gitlab 仓库邀请 gitlab新建仓库_docker_08

4.3 创建其他用户

gitlab 仓库邀请 gitlab新建仓库_docker_09


gitlab 仓库邀请 gitlab新建仓库_gitlab_10

gitlab 仓库邀请 gitlab新建仓库_docker_11


只需要填这三个设置密码

gitlab 仓库邀请 gitlab新建仓库_gitlab 仓库邀请_12


gitlab 仓库邀请 gitlab新建仓库_ldap_13

4.4 将用户添加到项目中

gitlab 仓库邀请 gitlab新建仓库_gitlab 仓库邀请_14


这里就体现出了创建群组的好处,我们可以将用户添加到群组中,这样群组中的项目,该用户都有权限了

gitlab 仓库邀请 gitlab新建仓库_gitlab 仓库邀请_15

5. 注意

如果你是HTTP,clone 一定要采用 ssh方式,ssh秘钥生成方式

ssh-keygen -t rsa -C “username@*.com”

id_rsa.pub 里面的内容copy到gitlab的SSH配置里