文章目录
Gitlab简介
Gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。gitlab是集DevOps思想于一体的服务平台项目, 其能实现研发侧代码的集成控制、自集成的pipeline流水线、实现项目人员权限控制、支持LDAP集成、对接外部集成项目等日常版本控制功能, 其内置的很多功能均能满足开发、运维、测试人员日常的需求, 漂亮的UI界面也增加了实用的兴趣;
[root@localhost ~]# wget https://mirrors.hiops.icu/packages/gitlab-ce-15.5.2-ce.0.el7.x86_64.rpm --no-check-certificate
[root@localhost ~]# yum -y install gitlab-ce-15.1.2-ce.0.el7.x86_64.rpm
[root@gitlab ~]# mkdir /etc/gitlab/ssl 创建一个ssl目录
[root@gitlab jenkins.gkjt.work]# mv fullchain1.pem privkey1.pem /etc/gitlab/ssl
修改配置文件
[root@gitlab ssl]# vim /etc/gitlab/gitlab.rb 进入配置文件修改
一 修改证书的位置
![](https://i-blog.csdnimg.cn/blog_migrate/a4d6125b254857e42f38dbbf47b8cec2.png)
二 改变time_zone
smtp协议,主要服务于邮件系统,需要公司内部的邮件系统支持,需要在公司内部搭邮件系统,
公司内部邮件系统的推荐产品:iredmail.org centos8,9支持(没有7)下载一个包,解压之后运行一个脚本自己就启动起来了。安装非常方便,可以用它作为公司内部的邮件系统支持。
smtp协议,主要服务于邮件系统,需要公司内部的邮件系统支持,邮件系统的管理员账号
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.123456@qq.com" 公司的二级域
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "123456@qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = true
当前gitlab在使用邮件系统的时候,他自己的身份是谁
gitlab_rails['gitlab_email_enabled'] = true 开启email的发送功能
gitlab_rails['gitlab_email_from'] = '123456@qq.com' gitlab系统服务本身拥有的用户身份,是给gitlab一个邮箱
gitlab_rails['gitlab_email_display_name'] = 'Gitlab' 邮件客户端上面显示当前邮件的用户名,进行的标识设定,(从gitlab下载公司源代码的时候会发生p0级别的警报就是通过它发出的)
gitlab_rails['gitlab_email_reply_to'] = '
123456@qq.com' 发送的用户身份,是从这个邮箱发出的
gitlab_rails['gitlab_email_subject_suffix'] = '[Gitlab]' 邮箱主题邮件记录: (用户忘记密码也可以通过邮件找回)
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
label: 'LDAP' 标签可以随便写 ldap,域->>专门在企业里,用于管理账号的域
host: 'ldap.123456@qq.com' ip地址也行,最好是域名
port: 389 ldap的默认服务端口
uid: 'cn' cn专门存储用户的用户名
bind_dn: 'cn=Manager,dc=123456,dc=qq' cn存储用户的用户名,dc是二级域也就是域名后缀的二级域,dc分两个dc进行存储一级域和二级域
password: 'qq123!!' 管理员所对应的用户密码
encryption: 'plain' 剩下的都是默认的配置(不用管)
verify_certificates: true
smartcard_auth: true
active_directory: true
allow_username_or_email_login: false
lowercase_usernames: true
block_auto_created_users: false
base: 'ou=People,dc=123456,dc=qq' ou是组,前面再写一个cn就证明在people的谁,base,几乎创建在ldap里的用户都会存在people组。base dn就是寻找用户的地方。
到时候会接受到一个邮件,这三个信息都有,添上去就好了,设置起来不太难。
三 增加外部的external
访问gitlab时所使用的url,把它改为https
四 修改gitlab里nginx做https的修改配置
nginx['enable'] = true
nginx['client_max_body_size'] = '250m'
nginx['redirect_http_to_https'] = true 重定向到http到https是关闭的状态开启
nginx['redirect_http_to_https_port'] = 80 http80端口重定向到https
开启这四个
五 https协议版本
六 ssl的共享空间,https的缓存空间
可以存储一些会话信息(可开可不开)
生效配置文件
[root@gitlab ssl]# gitlab-ctl reconfigure 进行配置生效 并且开启gitlab (时间会有点长)
gitlab配置完毕,这里有一个标识gitlab Reconfigured!已经成功了。给了一个初始密码,正常的用户名是root,给了一个存储初始密码的文件位置。
gitlab生效后的动作
[root@gitlab ssl]# cat /etc/gitlab/initial_root_password (密码包括=)
复制它的初始密码,通过浏览器输入
咦,解析不到,去阿里云加个解析
再重新去访问
一 取消提示
往下拉
保存更改,点击小狐狸的图标,回到首页来,就没有刚登录的提示了。
二 更改密码
改密码,太长了,24小时后会失效
三 把默认的项目删除掉
点击yes,项目就会被删除掉。
现在首页成了这样,创建项目,创建组,添加人,配置gitlab。一共四个选项卡,达到这个地步gitlab就算安装完了。
【注意】少熬夜,多看书。