Gitlab 安装教程(保姆级)带邮件服务器配置

GitLab安装教程

配置:建议CPU2核,内存2G以上。

1.1 GitLab主要服务构成
Nginx静态Web服务器
Gitlab-workhorse 轻量级的反向代理服务器
Gitlab-shell 用于处理Git命令和修改authorized keys列表
Logrotate 日志文件管理工具
Postgresql数据库
Redis 缓存服务器
1.2 GitLab的工作流程
创建并克隆项目
创建项目某Feature分支
编写代码并提交至该分支
推送改项目分支至远程Gitlab服务器
进行代码检查并提交Master主分支合并申请
项目领导审查代码并确认合并申请
2.安装
2.1安装ssh
sudo yum install -y curl policycoreutils-pythonopenssh-server

2.2将ssh服务设置成开机启动
sudo systemctl enable sshd

2.3安装Postfix以发送邮件通知
sudo yum install postfix

设置开机启动
sudo systemctl start postfix

如果启动不了就改一下

修改 /etc/postfix/main.cf文件中的
inet_interfaces = localhost
inet_protocols = all

修改为:
inet_interfaces = all
inet_protocols = all

在安装Postfix期间,可能会出现配置屏幕。选择“Internet Site”并按enter键。使用您的服务器的外部DNS以“mail name”并按enter。如果出现额外的屏幕,继续按enter键接受默认值。

2.4wget用于外网下载插件
检查系统中是否已经安装wget,使用命令若出现下图wget相关版本描述则说明系统中已经安装wget 若报系统找不到命令说明wget未安装

wget -V

查看是否存在版本信息,如果没有则安装

yum -y install wget

2.5配置域名
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf

在这里插入图片描述

补充说明:因为编译gitlab的配置 /etc/gitlab/gitlab.rb 时会重新生成这个自定义nginx 配置,所以只要 gitlab 的配置配得好,上面的nginx其实不需要自定义的。

也可以修改/etc/gitlab/gitlab.rb文件配置端口号

vi /etc/gitlab/gitlab.rb

找到external_url -> 服务器http://IP:端口 ( vi输入命令 /external_url )
在这里插入图片描述

2.6添加gitlab镜像
//查看el7还是e16
uname -a
在这里插入图片描述

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/“自己需要的版本”

2.7安装gitlab
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

全部ok才行
在这里插入图片描述

2.8修改gitlab配置文件指定服务器IP和自定义端口
vi /etc/gitlab/gitlab.rb

修改服务器IP(跟2.3配置的ip端口一致)

external_url ‘http://gitlab.test.domain.com:8088’

执行配置
gitlab-ctl reconfigure
启动
gitlab-ctl start

出现如下说明成功(全部run 不报错)
在这里插入图片描述

一般timeout重启可解决 如果没解决需要根据各个服务而解决
一般是解决方法:
1、按住CTRL+C强制结束
2、先停止gitlab,命令:sudo gitlab-ctl stop
3、执行命令:sudo chmod755 /var/opt/gitlab/postgresql
4、执行命令:sudo systemctl restart gitlab-runsvdir
5、再次配置:sudo gitlab-ctl reconfigure
6、启动即可:sudo gitlab-ctl restart
还不行直接重装快一点

修改储存位置(看你自己要不要改)

sudo vi /etc/gitlab/gitlab.rb

git_data_dirs -> 修改成目标位置

配置执行
sudo gitlab-ctl reconfigure

2.9重启gitlab并访问
如果访问失败先检查服务是否有问题,在检查防火墙是否开启或者端口限制
//关闭防火墙
firewall-cmd –state
systemctl stop firewalld.service
//开机关闭防火墙
systemctl disable firewalld
//开机自启防火墙
systemctl enable firewalld

gitlab-ctl restart

gitlab常用命令

gitlab-ctl start                 # 启动所有 gitlab 组件;
gitlab-ctl stop                  # 停止所有 gitlab 组件;
gitlab-ctl restart               # 重启所有 gitlab 组件;
gitlab-ctl status                # 查看服务状态;
vim /etc/gitlab/gitlab.rb        # 修改gitlab配置文件;
gitlab-ctl reconfigure           # 重新编译gitlab的配置;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
gitlab-ctl tail                  # 查看日志;
gitlab-ctl tail nginx/gitlab_access.log

查看gitlab版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

访问gitlab页面

image-20210926101624319

2.10安全考虑,需要创建public key认证
创建命令

ssh-keygen
一直回车
复制id_rsa.pub公钥
cat .ssh/id_rsa.pub

将cat出来的所有内容公钥添加到gitlab中
在这里插入图片描述

3、配置邮箱信息
sudo vi /etc/gitlab/gitlab.rb

修改如下配置:
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.sina.com”
gitlab_rails[‘smtp_port’] = 465
gitlab_rails[‘smtp_user_name’] = “@sina.com"
gitlab_rails[‘smtp_password’] = "

gitlab_rails[‘smtp_domain’] = “sina.com”
gitlab_rails[‘smtp_authentication’] = “login”
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘smtp_tls’] = true
gitlab_rails[‘gitlab_email_from’] = “****@sina.com”
user[‘git_user_email’] = “*****@sina.com”

gitlab-ctl reconfigure
gitlab-ctl restart

gitlab-rails console

Notify.test_email(‘@***.com’,‘email title’,‘email content desc’).deliver_now
收到邮件证明成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值