Centos7.9部署Gitlab-ce-16.9

一、环境信息

软件/系统名称版本下载地址备注
Centos77.9.2009https://mirrors.nju.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
gitlab-cegitlab-ce-16.9.1https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.9.1-ce.0.el7.x86_64.rpmRPM包安装方式

二、安装前配置

2.1 挂载GitLab默认存储路径

GitLab 主要目录

  • /var/opt/gitlab/git-data/repositories/:仓库默认存储目录
  • /opt/gitlab: 应用程序代码和相应的依赖程序
  • /var/opt/gitlab:gitlab数据存放路径 gitlab-ctl reconfigure 命令编译后的应用数据和配置文件,不需要人为修改配置
  • /etc/gitlab: 配置文件目录
  • /etc/gitlab/gitlab.rb gitlab配置文件
  • /var/log/gitlab:此目录下存放了 gitlab 各个组件产生的日志
  • /var/opt/gitlab/backups/:备份文件生成的目录
#准备1块1T的硬盘

fdisk /dev/sdb   划分两个分区出来
 sdb1: 100G
 sdb2:900G

格式化:
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2

挂载分区
vim /etc/fstab
/dev/sdb1   /var/opt/gitlab/  ext4  defaults 0 0
/dev/sdb2   /opt/gitlab/  ext4  defaults 0 0


#创建目录
mkdir -p /var/opt/gitlab/ 
mkdir -p /opt/gitlab/ 

二、安装GitLab

# 安装依赖,并启动ssh、防火墙开启相应端口、postfix
[root@gitlab ~]# yum install curl policycoreutils openssh-server openssh-clients postfix  -y
 
# 安装
[root@gitlab ~]# yum install https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.9.1-ce.0.el7.x86_64.rpm -y

image-20240306205400861

三、初始化GitLab

3.1 备份配置文件

[root@gitlab ~]# cd /etc/gitlab
[root@gitlab gitlab]# cp gitlab.rb gitlab.rb-bak

3.2 根据需求,修改默认配置文件

经供参考优化后的配置文件,关闭了一些Prometheus的各种exporter

我这里添加了SMTP的相关配置

[root@code gitlab]# sed -n '/^[^#]/p' gitlab.rb

external_url 'http://code.srebro.cn'

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "ttc@srebro.cn"
gitlab_rails['smtp_password'] = "xxxxxxxxxxxxxh"
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'ttc@srebro.cn'
gitlab_rails['gitlab_email_display_name'] = 'ttc技术管理委员会'
gitlab_rails['gitlab_email_reply_to'] = 'ttc@srebro.cn'

prometheus['enable'] = false
prometheus['monitor_kubernetes'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
prometheus_monitoring['enable'] = false

四、启动GitLab

重新配置应用程序

[root@gitlab gitlab]#  gitlab-ctl reconfigure

查看GitLab 状态

[root@code gitlab]# gitlab-ctl status

run: gitaly: (pid 4124) 2303s; run: log: (pid 3490) 2443s
run: gitlab-kas: (pid 3695) 2427s; run: log: (pid 3710) 2425s
run: gitlab-workhorse: (pid 4096) 2304s; run: log: (pid 3841) 2337s
run: logrotate: (pid 3379) 2456s; run: log: (pid 3387) 2455s
run: nginx: (pid 4113) 2304s; run: log: (pid 3908) 2330s
run: postgresql: (pid 3530) 2433s; run: log: (pid 3541) 2432s
run: puma: (pid 5051) 403s; run: log: (pid 3776) 2349s
run: redis: (pid 3409) 2450s; run: log: (pid 3418) 2449s
run: sidekiq: (pid 5030) 409s; run: log: (pid 3811) 2342s

五、访问GitLab

5.1 随机密码访问

使用EXTERNAL_URL 中配置的地址来访问GitLab

初始密码,系统会随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中, 查看随机密码并使用 root 用户名登录

注意:出于安全原因,24 小时后,/etc/gitlab/initial_root_password 会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码。

image-20240306195652130

5.2 修改root默认密码

用户设置,偏好设置,密码

image-20240306195803004

六、其他优化

6.1 修改GitLab默认语言 为中文

用户设置,偏好设置,语言设置

image-20240306200118949

6.2 配置使用HTTPS登录GitLab

待补充…

6.3 使用LDAP登录GitLab

gitlab.rb 配置如下

gitlab_rails['ldap_enabled'] = true
#gitlab_rails['prevent_ldap_sign_in'] = false

###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main:
     label: 'LDAP'
     host: '172.16.10.180'
     port: 389
     uid: 'cn'  #用户在LDAP中的唯一标识字段
     bind_dn: 'cn=admin,dc=srebro,dc=cn'
     password: 'xxxxx'
     encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
     verify_certificates: true  #是否验证证书
     active_directory: false   #是否是Active Directory服务器
     allow_username_or_email_login: true  #是否允许使用用户名或电子邮件登录
     lowercase_usernames: false # #是否将用户名转换为小写
     base: 'ou=people,dc=srebro,dc=cn'  #在LDAP中搜索用户的基础DN
     group_base: 'ou=group,dc=srebro,dc=cn'
     user_filter: '(memberOf=cn=gitlab,ou=group,dc=srebro,dc=cn)'  # 根据条件进行组过滤
EOS

ldap 还需配置add_memberof_module.ldif ,具体参考: https://www.cnblogs.com/panther1942/p/17067317.html

配上ldap 组织架构图: dc=srebro,dc=cn

创建一个groupofNames 得组织,DN 为: cn=gitlab,ou=group,dc=srebro,dc=cn

image-20240306211513911

七、参考

  • https://www.cnblogs.com/mingerlcm/p/12588785.html【GitLab 主要目录】
  • https://www.jianshu.com/p/9a2f414e52b7 【gitlab 磁盘空间不足问题处理】
  • https://www.cnblogs.com/panther1942/p/17067317.html【gitlab+openldap使用memberof筛选登录用户】
  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上部署GitLab CI持续集成,您可以按照以下步骤进行操作: 1. 安装GitLab的依赖项,包括curl、openssh-server、openssh-clients、postfix和policycoreutils。您可以使用以下命令进行安装: ``` yum install -y curl openssh-server openssh-clients postfix policycoreutils ``` 2. 下载GitLab的yum源并进行安装。您可以使用以下命令下载并安装yum源: ``` curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ``` 3. 安装GitLab CE: ``` yum install -y gitlab-ce ``` 4. 进行GitLab的配置。这一步可能需要一些时间,请耐心等待: ``` gitlab-ctl reconfigure ``` 5. 安装GitLab插件。进入系统管理页面,点击"管理插件",并选择安装gitlab-plugin和gitlab hook-plugin。如果找不到这些插件,只需安装gitlabgitlab hook即可。 完成上述步骤后,您的CentOS 7系统就可以部署GitLab CI持续集成了。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Cento7部署基于Jenkins和Gitlab的持续集成与部署架构](https://blog.csdn.net/xixixilalalahaha/article/details/106546320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境](https://blog.csdn.net/a790308/article/details/102258147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值