#ubuntu 安装gitlab

1
使用清华大学gitlab的镜像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
1
2
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
vi /etc/yum.repos.d/gitlab-ce.repo
1
2
3
4
5
6
7
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
1
2
sudo yum makecache
sudo yum install gitlab-ce
1
2
3
然后打开/etc/gitlab/gitlab.rb,将external_url = 'http://xxx.xxx.com'
修改为自己的IP地址或者自己的域名,然后编译,这里会用chef来进行,sudo gitlab-ctl reconfigure
这样如果没有报错就是安装完成了

#配置ldap登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
### LDAP Settings
###! Docs: https://docs.gitlab.com/omnibus/settings/ldap.html
###! **Be careful not to break the indentation in the ldap_servers block. It is
###! in yaml format and the spaces must be retained. Using tabs will not work.**
gitlab_rails['ldap_enabled'] = true
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: 'xx.xx.xx.xx'
port: 389
uid: 'sAMAccountName'
bind_dn: 'cn=username,cn=Users,dc=xxx,dc=com'
password: 'password'
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
verify_certificates: true
ca_file: ''
ssl_version: ''
active_directory: true
allow_username_or_email_login: false
block_auto_created_users: false
base: 'dc=xxx,dc=com'
user_filter: ''
attributes:
username: ['uid', 'userid', 'sAMAccountName']
email: ['mail', 'email', 'userPrincipalName']
name: 'cn'
first_name: 'givenName'
last_name: 'sn'
# ## EE only
# group_base: ''
# admin_group: ''
# sync_ssh_keys: false
#
# secondary: # 'secondary' is the GitLab 'provider ID' of second LDAP server
# label: 'LDAP'
# host: '_your_ldap_server'
# port: 389
# uid: 'sAMAccountName'
# bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
# password: '_the_password_of_the_bind_user'
# encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
# verify_certificates: true
# ca_file: ''
# ssl_version: ''
# active_directory: true
# allow_username_or_email_login: false
# block_auto_created_users: false
# base: ''
# user_filter: ''
# attributes:
# username: ['uid', 'userid', 'sAMAccountName']
# email: ['mail', 'email', 'userPrincipalName']
# name: 'cn'
# first_name: 'givenName'
# last_name: 'sn'
# ## EE only
# group_base: ''
# admin_group: ''
# sync_ssh_keys: false
EOS
1
2
3
4
5
ldapsearch -vvv -LLL -H ldap://ldapip -b "dc=test,dc=com"  -D 'cn=账号,OU=系统账号,OU=xxxx科技有限公司,dc=test,dc=com' -w密码

xxxx科技有限公司 这个是在ad域里面分的一个目录,这个目录和默认的Users那个目录同级的。
系统账号 这个是 公司 下面分的一个子目录。
dc 一般是公司域名。
1
2
3
4
5
ldapsearch -vvv -LLL -H ldap://ldapip -b "dc=test,dc=com"  -D 'cn=账号,cn=Users,dc=test,dc=com' -w密码

这里的Users就是 在ad域里面的那个默认的组


#centos 安装gitlab

  1. Install and configure the necessary dependencies
1
2
3
4
sudo yum install -y curl openssh-server openssh-clients cronie
sudo lokkit -s http -s ssh


  1. Add the GitLab package server and install the package
1
2
3
4
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce


  1. Configure and start GitLab
1
2
sudo gitlab-ctl reconfigure