Gitlab安装

Centos7安装Gitlab

下载安装包

# 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm --no-check-certificate

安装相关组件

yum install systemd curl policycoreutils-python openssh-server -y

安装Postfix

yum install -y postfix

修改配置

vim /etc/postfix/main.cf
...
inet_interfaces = all
inet_protocols = ipv4
...

运行Postfix

systemctl enable postfix
systemctl start postfix

关闭防火墙和selinux

systemctl stop firewalld
# 临时关闭
setenforce 0

安装gitlab-ce

rpm -ivh gitlab-ce-14.4.2-ce.0.el7.x86_64.rpm

修改配置文件

vim  /etc/gitlab/gitlab.rb
...
# 修改访问URL
external_url 'http://10.4.7.200:8181'
...
# 修改时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 邮箱相关
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@163.com"  # 邮箱号
gitlab_rails['smtp_password'] = "*************" # 授权码
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@163.com' # 邮箱号

测试邮件

[root@master ~]# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
 GitLab:       14.4.2 (1ce86e92f81) FOSS
 GitLab Shell: 13.21.1
 PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.1)
irb(main):001:0> Notify.test_email('xxx@163.com','邮件标题','邮件内容').deliver_now
...
...
irb(main):002:0> exit

重置Gitlab配置

(可理解为初始化吧)

gitlab-ctl reconfigure

启动Gitlab

gitlab-ctl start

安装结束...稍等一会访问URL

一定要注意本地端口是否被占用!导致访问Web页一直502

登陆Gitlab

# 账号root
# 密码
cat /etc/gitlab/initial_root_password

常用命令

gitlab-ctl start:启动全部服务
gitlab-ctl restart:重启全部服务
gitlab-ctl stop:停止全部服务
gitlab-ctl reconfigure:使配置文件生效(一般修改完主配置文件/etc/gitlab/gitlab.rb,需要执行此命令)
gitlab-ctl show-config :验证配置文件
gitlab-ctl uninstall:删除gitlab(保留数据)
gitlab-ctl cleanse:删除所有数据,从新开始
gitlab-ctl tail 查看服务的日志

Gitlab常用组件

nginx:静态Web服务器
gitlab-shell:用于处理Git命令和修改authorized keys列表,我们的gitlab是以Git做为最层的,你操作实际上最后就是调用gitlab-shell命令进行处理。
gitlab-workhorse:轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:GitLab Rails应用是托管在这个服务器上面的

Gitlab目录解释

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

卸载Gitlab

# 停止服务
gitlab-ctl stop
# 卸载gitlab
rpm -e gitlab-ce
# 强杀守护进程
ps -ef|grep gitlab|grep runsvdir|awk -F ' ' '{print $2}'|xargs kill -9
# 删除gitlab相关文件
find / -name *gitlab* | xargs rm -rf

 

参考文档:gitlab介绍与操作 - 游走在边缘的人 - 博客园 (cnblogs.com)

posted @ 2021-11-11 20:24  MegaloBox  阅读(54)  评论(0编辑  收藏  举报