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
- 密码: 第一次进入会让你修改
关闭注册
取消勾选即可
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
浏览器打开该地址,第一次进入,会让你设置密码
4. gitlab基本操作
4.1 创建群组
企业内部使用,可以创建一个群组,方便我们后期管理我们的项目
4.2 创建项目
新创建的项目,要新增一个文件,不然master分支什么的都不会出来,有点坑设置提交权限
4.3 创建其他用户
只需要填这三个设置密码
4.4 将用户添加到项目中
这里就体现出了创建群组的好处,我们可以将用户添加到群组中,这样群组中的项目,该用户都有权限了
5. 注意
如果你是HTTP,clone 一定要采用 ssh方式,ssh秘钥生成方式
ssh-keygen -t rsa -C “username@*.com”
将 id_rsa.pub
里面的内容copy到gitlab的SSH配置里