在这里 选择你的系统,按照提示安装。  
下面以Ubuntu 16.04 LTS版本为例,以后会补充使用docker来管理 gitlab。
安装依赖包 sudo apt-get install curl openssh-server ca-certificates postfix
添加gitlab源 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh  | sudo bash
网络不好的选项   
在 这里  找到你的版本号并替换下面 urlsudo curl -LJO <url>sudo dpkg -i gitlab-ce-XXX.deb
更新源以及安装 sudo apt-get update && sudo apt-get install gitlab-ce -y
配置 /etc/gitlab/gitlab.rb sudo vim /etc/gitlab/gitlab.rb
配置访问接口 external_url = ‘http://git.example.com ‘
配置邮件服务 1 2 3 4 5 6 7 8 9 gitlab_rails['smtp_enable'] = true   gitlab_rails['smtp_address'] = ""    gitlab_rails['smtp_port'] = 25   gitlab_rails['smtp_user_name'] = ""   gitlab_rails['smtp_password'] = ""   gitlab_rails['smtp_domain'] = ""   gitlab_rails['smtp_authentication'] = "login"   gitlab_rails['smtp_enable_starttls_auto'] = false   gitlab_rails['smtp_tls'] = false   
注意:   
1 2 3 smtp_address和smtp_domain的设置,以阿里云企业邮箱为例   gitlab_rails['smtp_address'] = "smtp.mxhichina.com"    gitlab_rails['smtp_domain'] = "mxhichina.com"   
关闭 prometheus 个人经验:如果不关闭的话,会一直报错。
重启GitLab sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart 
一些推荐设置 首次进入设置管理员密码,设置 your-domain/admin/application_settings
建议关闭 Gravatar 头像功能
关闭注册功能
 
升级Gitlab 在管理后台位置 overview 界面如果红色提示需要升级,那么尽快升级到最新版本。
关闭 gitlabsudo gitlab-ctl stop 
升级 gitlabsudo apt-get install gitlab -y 
 
修改为国内镜像 详情: https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ 
1 2 3 4 vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main deb-src https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main 
使用 Docker 配置 docker-compose
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 version:  "3"  services:     gitlab:          image:  gitlab/gitlab-ce          ports:              -  "80:80"              -  "443:443"              -  "2222:2222"          volumes:              -  gitlab-config:/etc/gitlab              -  gitlab-logs:/var/log/gitlab              -  gitlab-data:/var/opt/gitlab              -  $PWD/gitlab.rb:/etc/gitlab/gitlab.rb              -  $PWD/ssh_config:/etc/ssh/ssh_config              -  $PWD/sshd_config:/assets/sshd_config              -  $PWD/ssl:/etc/gitlab/ssl  volumes:     gitlab-config:      gitlab-logs:      gitlab-data:  
这里我们使用了 HTTPS,需要配置一下:
创建 ssl 目录,并导入证书和私钥。这里以 example.crt 和 example.key 为例
1 2 3 4 5 6 7 gitlab_rails['gitlab_shell_ssh_port' ] = 2222  nginx['redirect_http_to_https' ] = true  nginx['ssl_certificate' ] = "/etc/gitlab/ssl/example.crt"  nginx['ssl_certificate_key' ] = "/etc/gitlab/ssl/example.key"  
增加 ssh_config 文件
1 2 3 4 5 6 7 Host * # 设置 ssh 端口为 2222 Port 2222 SendEnv LANG LC_* HashKnownHosts yes GSSAPIAuthentication yes GSSAPIDelegateCredentials no 
增加 sshd 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 设置 ssh 端口为 2222 Port 2222 ChallengeResponseAuthentication no HostKey /etc/gitlab/ssh_host_rsa_key HostKey /etc/gitlab/ssh_host_ecdsa_key HostKey /etc/gitlab/ssh_host_ed25519_key Protocol 2 PermitRootLogin no PasswordAuthentication no MaxStartups 100:30:200 AllowUsers git PrintMotd no PrintLastLog no PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys /gitlab-data/ssh/authorized_keys UsePAM yes UseDNS no