前言
提示:Gitlab ce 本地部署
本章记录Ubuntu22.04 LTS 部署 gitlab-ce_16.9.6-ce.0_amd64.deb。
HCI平台:sanfor hci 6.9.1
业务虚拟机:
gitlab:1台
nginx:1台
odoo_test:1台
postgresql_test:1台
odoo_product:1台
postgresql_product:1台
计划设计流程:gitlab创建项目,分配任务,编写代码,提交任务,合并代码,发布测试,测试通过,发布生产。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装Gitlab
sudo aapt install build-essential curl file git ca-certificates -y #安装依赖
curl -sS https://packages.gitlab.com/install/repositories/gitlab/\
gitlab-ce/script.deb.sh | sudo bash #镜像源
#下载安装包
sudo wget --content-disposition https://packages.gitlab.com/gitlab/\
gitlab-ce/packages/ubuntu/jammy/gitlab-ce_16.9.6-ce.0_amd64.deb/download.deb
sudo dpkg -i gitlab-ce_16.9.6-ce.0_amd64.deb #安装指定版本
/gitlab-ce 社区版
/gitlab-cc 企业版
官方镜像列表:https://packages.gitlab.com/app/gitlab/gitlab-ce/search?dist=ubuntu%2Fjammy
二、Gitlab配置
1.配置本地URL访问地址
1、打开配置文件
sudo vim /etc/gitlab/gitlab.rb #编辑gitlab配置文件
2、编辑配置文件中URL地址
##! Note: During installation/upgrades, the value of the environment variable
##! EXTERNAL_URL will be used to populate/replace this value.
##! On AWS EC2 instances, we also attempt to fetch the public hostname/IP
##! address from AWS. For more details, see:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'http://xx.xx.xx.xx'
3、修改默认端口号,查找nginx[‘listen_port’] = 端口号。
nginx['listen_port'] = 620
4、重载配置,使修改生效,这个时间会有些长
sudo gitlab-ctl reconfigure
5、查看root账号默认密码,记录下来稍后登录Root账号使用
sudo cat /etc/gitlab/initial_root_password
6、 设置开机自启动
sudo systemctl enable gitlab-runsvdir.service
7、优化数据库
# 减少数据库缓存
postgresql['shared_buffers'] = "64MB"
# 减少数据库并发数
postgresql['max_worker_processes'] = 4
# 禁用puma cluster模式,可以减少100-400MB占用
puma['worker_processes'] = 0
# 减少sidekiq并发数
# sidekiq['concurrency'] = 2
sidekiq['max_concurrency'] = 2
# 禁用监控
prometheus_monitoring['enable'] = false
# 减少gitlab_rails组件的内存消耗
gitlab_rails['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:500,muzzy_decay_ms:500'
}
8、其它常用命令
gitlab配置文件位置: /etc/gitlab/gitlab.rb
停止gitlab服务 sudo gitlab-ctl stop
启动gitlab服务 sudo gitlab-ctl reconfigure
重启所有gitlab组件 sudo gitlab-ctl restart
启动所有gitlab组件 sudo gitlab-ctl start
查看gitlab运行状态 sudo gitlab-ctl status
启用开机自启动sudo systemctl enable gitlab-runsvdir.service
2.登录gitlab
1、以上配置成功后,在本地就可以打开刚才配置的URL。
2、配置中文Language,然后刷新网页。
3.Postfix配置
1、创建用户会需要用到邮箱发送信息,如果人数少也可不配置,用root账号创建账号与密码,直接发给参与用户。
sudo apt install -y postfix #安装Postfix
sudo systemctl start postfix #启动Postfix
sudo systemctl enable postfix #设置开机启动Postfix
2、修改gitlab的邮件配置
sudo vim /etc/gitlab/gitlab.rb #修改gitlab 邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtphz.163.com" #邮件SMTP地址
gitlab_rails['smtp_port'] = 465 #邮件SMTP端口
gitlab_rails['smtp_user_name'] = "gitlab@gitlab.example.com" #邮件发件账号
gitlab_rails['smtp_password'] = "XXXX" #邮件发件密码
gitlab_rails['smtp_domain'] = "smtphz.163.com" #邮件SMTP地址
gitlab_rails['smtp_authentication'] = "login" #验证类型
gitlab_rails['smtp_enable_starttls_auto'] = false #打开自动 tls
gitlab_rails['smtp_tls'] = true #打开 tls 与自动tls 互斥只能开一个
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@gitlab.example.com' #发邮人 邮箱
gitlab_rails['gitlab_email_display_name'] = 'From-GitLab-Server' #发件名称信息
sudo gitlab-ctl reconfigure #重载配置,使修改生效
sudo gitlab-rails console -e production #登录gitlab控制台
Notify.test_email('XX@XX.com', '邮件主题', '邮件内容').deliver_now #测试邮件发送
出现错误提示
gitlab `rbuf_fill': end of file reached (EOFError)
开启587端口
sudo ufw allow 587/tcp
如果出错,需要再检查配置文件
4.创建项目
5.创建群组
6.创建用户
7.GitLab配置SSHKey
1、生成SSH密钥
打开终端或命令提示符窗口,输入以下命令生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
找到生成目录中的 id_rsa.pub,右击文本文件打开,并复制。
2、添加SSHkey
为该秘钥起个名,点击添加秘钥,完成。
git --version 查看版本号
git config --global user.name "用户名” 回车;
git config --global user.email "邮箱” 回车;
1、ssh-keygen -t rsa -C “邮箱地址”,按回车,生成密钥
2、随后输入命令查看秘钥,cd ~/.ssh && cat id_rsa.pub,将秘钥复制
3、进入gitee中点击设置,进入SSH公钥
4、填写标题,将公钥粘贴
初始化本地仓库
git init
本地仓库与远程仓库建立连接
git remote add origin 远程仓库地址
将远程仓库的文件拉到本地仓库中
git pull origin master
将本地文件上传到本地仓库(全部)
git add .
将本地仓库提交的内容推到远程仓库
git push origin master
查看现有远程仓库的信息(git remote -v);
删除现有的远程仓库信息(git remote rm origin);
建立新的远程仓库地址(git remote add origin + 新的远程仓库地址);
未完待续