gitlab搭建以及配置
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安装目录层级结构
git操作命令
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。