gitlab安装(准备工作为可选步骤)

准备工作:
配置 swap 交换分区
由于 GitLab 较为消耗资源,我们需要先创建交换分区,以降低物理内存的压力。
在实际生产环境中,如果服务器配置够高,则不必配置交换分区。

新建 2 GB 大小的交换分区:

dd if=/dev/zero of=/root/swapfile bs=1M count=2048
格式化为交换分区文件并启用:

mkswap /root/swapfile
swapon /root/swapfile
添加自启用。打开 /etc/fstab 文件,在文件最后添加新的一行并按 Ctrl + S 保存:

/root/swapfile swap swap defaults 0 0


正式开始步骤:
下载镜像

镜像地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

安装wget:

 yum -y install wget
下载镜像:

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
有点大,等两分钟。。。

第二种安装方式:
cat <<EOF> /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1
EOF

yum makecache

yum install gitlab-ce-13.1.2 //需要去除后缀才可以执行成功

三、安装和配置必要的依赖项
1、安装防火墙

yum install firewalld systemd -y
2、开启防火墙

service firewalld  start
3、安装SSH协议

yum install -y curl policycoreutils-python openssh-server
4、设置SSH服务开机自启动

systemctl enable sshd
5、启动SSH服务

systemctl start sshd
6、添加HTTP服务到firewalld

firewall-cmd --permanent --add-service=http
7、添加HTTPS服务到firewalld

firewall-cmd --permanent --add-service=https
8、重启防火墙

systemctl reload firewalld
9、安装Postfix以发送通知邮件

yum install postfix
10、将postfix服务设置成开机自启动

systemctl enable postfix
11、启动postfix

systemctl start postfix
12、安装vim编辑器

yum install vim -y
好了,准备完毕,开始安装吧。。。开干

四、安装GitLab
1、安装rpm包

rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm
2、修改配置文件

#编辑配置文件
vim  /etc/gitlab/gitlab.rb
external_url 'http://101.35.113.27'
unicorn['port'] = 8082
# 关闭普罗米修斯(非常吃内存,没有8G内存不要开)
# 在vim的一般模式下输入/Prometheus配合N快速查找
monitor和enable写成false
prometheus['enable'] = false
prometheus['monitor_kubernetes'] = false
#配置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
## 邮箱配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxxxx6@qq.com"
gitlab_rails['smtp_password'] = "kmatiluhopnhchfh"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "3491441506@qq.com"
gitlab_rails['gitlab_email_enabled'] = true

3、防火墙开放端口

# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent   
4、重启防火墙

firewall-cmd --reload
5、查看端口号是否开启

firewall-cmd --query-port=80/tcp
6、重置Gitlab

gitlab-ctl reconfigure
7、启动Gitlab



gitlab-ctl restart

大功告成。。。稍等,先试一下

注:首次访问时,会自动进入管理员密码设置页面,管理员默认账户为root。

五、汉化
登录后可进行语言设置:

Settings -> Preferences -> Localization -> Language -> 简体中文

如果想修改远程仓库的显示地址,修改配置

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml.example

配置邮箱设置

vim /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "XXXX@qq.com"
gitlab_rails['smtp_password'] = "ypyvpirefumrbjed"  # qq授权码
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = XXXX@qq.com    #和smtp_user_name一致
gitlab_rails['gitlab_email_enabled'] = true

只有当smtp_port 为465,启用SSL连接,的时候才会是true,如果端口为25则不需要。

另外['gitlab_email_from'] 和['smtp_user_name'] 必须是一样的否则会报错
gitlab-ctl reconfigure 重新配置生效

最后测试邮件发送
 gitlab-rails console  打开控制台,
Notify.test_email('dahai@163.com', 'dahai', 'test body').deliver_now
使用上面的语句发送测试邮件。

初始化root用户和密码

1.gitlab-rails console -e production
2.在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
3.通过u.password='12345678'设置密码为12345678
4.通过u.password_confirmation='12345678' 再次确认密码
5.通过 u.save! 进行保存(切记切记 后面的 !)
6.如果看到true ,恭喜你已经成功了,执行 exit 退出当前设置流程即可

gitlab安装参考博客如下

https://blog.csdn.net/qq_43626147/article/details/109160229
https://blog.csdn.net/xiaoye319/article/details/97936680
https://blog.csdn.net/shixiansen6535/article/details/98592921?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1

清华大学镜像源

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

gitlab数据迁移和备份参考博客如下

https://blog.csdn.net/ouyang_peng/article/details/77070977/

gitlab安装目录层级结构

gitlab.png

git操作命令

git操作.png