背景:
过去一直gitlab搭建在kubernetes上,但是很多的管理不方便:资源的备份。pv,pvc这些管理扩容,升级,迁移,上传文件的大小等种种问题。现在想把gitlab移出来直接单独部署。操作系统rocky 8or rocky9(为什么特别强调 8 or 9呢?扫了一眼国内tsinghua的源只有el7的源了。 8 9 搭建安装会报各种问题)
(资料图)
gitlab的简单搭建
修改主机名:
hostnamectl set-hostname XXXX
挂载数据盘
个人习惯,挂载一个数据盘为data目录。不想挂载也可以直接使用系统盘了。这里服务器都是腾讯云CVM:
添加gitlab yum源
扫了一眼基本国内用的清华的源,but没有el8 or el9的源:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/?C=M&O=D
rocky8 or 9 rpm -ivh el7的源会出现如下错误:
[root@gitlab ~]# rpm -ivh gitlab-ce-15.8.3-ce.0.el7.x86_64.rpm warning: gitlab-ce-15.8.3-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEYerror: Failed dependencies:perl is needed by gitlab-ce-15.8.3-ce.0.el7.x86_64policycoreutils-python is needed by gitlab-ce-15.8.3-ce.0.el7.x86_64
[root@gitlab ~]# yum install perl [root@gitlab ~]# yum install policycoreutils-python*
恩 el8 el9不能用的....policycoreutils-python包发生了改变貌似8开始!无法正常安装rpm包!
到gitlab 官方package中查找是否有el8之上对应版本rpm:
https://packages.gitlab.com/gitlab/gitlab-ce
以el8 15.8.3 rpm包为例:
rpm -ivh gitlab-ce-15.8.3-ce.0.el8.x86_64.rpm
配置并启动gitlab
简单配置服务
vi /etc/gitlab/gitlab.rb
这里只配置了external_url对外暴露的域名,将gitlab.example.com替换成自己的域名:
external_url "http://gitlab.example.com"
加载生成配置:
gitlab-ctl reconfigure
貌似服务会自动启动.......
中间可能会这样:
如果实在卡的很久可以考虑执行一下:
sudo systemctl restart gitlab-runsvdir
关于服务管理的常用命令:
简单看一眼即可:
## 启动服务gitlab-ctl start## 重启服务gitlab-ctl restart ## 查看状态gitlab-ctl status ## 停止gitlab-ctl stop
image.png
浏览器访问gitlab
正常浏览器登陆gitlab
浏览器登陆gitlab.xxx.com
第一次打开会提示让你修改root的密码,修改完后保存,之后就可以通过用户名密码登录,root为默认管理员账号
**管理员账号为root
密码保存在配置文件内**
cat /etc/gitlab/initial_root_password
but我这里没有自动生成.....
[root@gitlab gitlab]# lltotal 164-rw------- 1 root root 140237 Mar 1 17:39 gitlab.rb-rw------- 1 root root 19412 Mar 1 17:39 gitlab-secrets.jsondrwxr-xr-x 2 root root 4096 Mar 1 17:39 trusted-certs[root@gitlab gitlab]# pwd/etc/gitlab[root@gitlab gitlab]# find / -name initial_root_password[root@gitlab gitlab]#
注:总结一下为什么没有产生initial_root_password 我rpm 安装过,然后卸载了只删除了 /etc/gitlab and /opt/gitlab 尝试了很多次后有一个/var/opt/gitlab 目录没有删除...要问我怎么知道的...登陆后看管理员创建时间是第一次安装的.find了一下目录发现有那么的一个目录.......
如何重置root密码?
没有/etc/gitlab/initial_root_password怎么破?,可以使用gitlab-rake命令重置gitlab密码:
[root@gitlab gitlab]# sudo gitlab-rake "gitlab:password:reset[root]"
输入自定义的密码:
继续浏览器登陆gitlab.xxxx.com 用户名root,密码输入刚才设置的密码(可能要稍微等一会才能生效),也可能会跳转到一个http://gitlab.xxxx.com/xprober.php的页面
不要慌,去掉xprober.php重新刷新一次,正常登陆gitlab控制台:
gitlab控制台的简单设置:
关闭系统注册功能:
醒目提示框选择Deactivate:
去掉Sign-up restrictions下两个勾选
sve changes
修改语言 preferences
Localization-Chinese sample
save changes 保存配置
刷新一下页面:
回到主页:
接下来准备搞什么呢? web添加ssl证书,postgresql 用容器外部部署,用户ldap集成
gitlab 增加https证书
处于安全性考虑,gitlab增加ssl证书还是很有必要的。这里先配置一下基于ssl证书的访问:
上传证书到服务器指定目录
解压证书到/etc/gitlab/ssl目录下(这个目录可以自定义,ssl证书为腾讯云TrustAsia 域名型(DV)通配符证书):
修改gitlab.rb配置文件:
external_url修改为https域名:
external_url "https://gitlab.xxx.com"
nginx配置默认就设置了如下:
nginx["redirect_http_to_https"] = falsenginx["redirect_http_to_https_port"] = 80nginx["ssl_certificate"] = "/etc/gitlab/ssl/xxxx.com_bundle.crt"nginx["ssl_certificate_key"] = "/etc/gitlab/ssl/xxxx.com.key"
重新加载配置文件:
sudo gitlab-ctl reconfigure
netstat -ntlp 发现nginx监听443端口了:
验证https访问:
浏览器访问https地址,可能会偶现502...毕竟服务重启要一定时间,稍微等待刷新:访问https域名正常如下:
gitlab 集成外部PostgreSQL
为什么把postgresql 搞出来呢?因为一直对postgresql这东西不熟悉,不好维护。就准备把postgresql单独拿出来用容器部署.....出了问题好歹能第一时间还原阿......。升级版本我大不了新建一个容器导入呗......
简单安装并配置dokcer
cd /etc/yum.repos.d/wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
替换repo 中的url为国内地址(vim 打开文件输入)
:%s/download.docker.com/mirrors.tuna.tsinghua.edu.cn\/docker-ce/g
当然了也可以直接使用阿里云的源阿....,全凭个人习惯!
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
dnf list docker-cednf install docker-ce --nobest -y
启动docker 并将docker加入开机启动:
systemctl start dockersystemctl enable docker
注:docker这里就简单配置一下了只是,毕竟只是演示。
docker启动postgresql
关于gitlab 与postgresql版本对应最低要求,参照,https://docs.gitlab.com/ee/administration/package_information/postgresql_versions.html:
咱们这里就搭建一个13.6的postgresql了!
创建postgresql存储数据目录
mkdir -p /data/gitlab/pgdata
启动postgresql容器
docker启动 postgresql容器:
docker run --name dockerPG13 \-e POSTGRES_PASSWORD=postgres \-v /data/gitlab/pgdata:/var/lib/postgresql/data \-p 54322:5432 \-d postgres:13.6
进入postgresql容器 创建对应数据库:
查看CONTAINER ID 并进入容器:
docker psdocker exec -it 49318879d7c8 bash
创建对应数据库:
root@49318879d7c8:/# psql -U postgres -h localhost -p 5432psql (13.6 (Debian 13.6-1.pgdg110+1))Type "help" for help.postgres=# create role gitlab login encrypted password "gitlab";CREATE ROLEpostgres=# create database gitlabhq_production owner=gitlab ENCODING = "UTF8";CREATE DATABASEpostgres=# \c gitlabhq_productionYou are now connected to database "gitlabhq_production" as user "postgres".gitlabhq_production=# CREATE EXTENSION IF NOT EXISTS btree_gist;CREATE EXTENSIONgitlabhq_production=# CREATE EXTENSION IF NOT EXISTS pg_trgm;CREATE EXTENSIONgitlabhq_production=# \qroot@49318879d7c8:/# exitexit
修改gitlab.rb配置文件:
vim /etc/gitlab/gitlab.rb 修改如下部分:
724 gitlab_rails["db_adapter"] = "postgresql"725 gitlab_rails["db_encoding"] = "utf8"726 gitlab_rails["db_collation"] = nil727 gitlab_rails["db_database"] = "gitlabhq_production"728 gitlab_rails["db_username"] = "gitlab"729 gitlab_rails["db_password"] = "gitlab"730 gitlab_rails["db_host"] = "10.0.4.58731 gitlab_rails["db_port"] = 54322
1139 postgresql["enable"] = false
重载生成postgresql配置文件
sudo gitlab-ctl reconfigure
验证配置生效:
cat /opt/gitlab/embedded/service/gitlab-rails/config/database.yml
其他强调的:
再次登陆 貌似密码又会没有了阿?毕竟换了postgresql数据库....
继续重置一下密码,参照:
https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password
sudo gitlab-rake "gitlab:password:reset"
恩关闭系统注册修改语言再来一遍.......
刷新
算是重新复习一遍吧....
更改gitlab默认存储目录:
创建新的存储目录
gitlab的默认存储路径位于/var/opt/gitlab/git-data 下
/var/opt/gitlab/git-data
我个人习惯是将数据文件存储到/data目录下(/data是一般挂载一个数据盘与系统盘分开),创建/data/gitlab/git-data目录:
mkdir -p /var/opt/gitlab/git-data
修改gitlab.rb配置文件:
貌似644行:
git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data", "failure_count_threshold" => 10, "failure_wait_time" => 30, "failure_reset_time" => 1800, "failure_timeout" => 30 } })
同步repositories 仓库文件到新路径:
cd /var/opt/gitlab/git-datarsync -av repositories /data/gitlab/git-data/
当然了 也可以用cp mv 将文件夹复制过去,最好保持一下目录权限,如果启动后有异常,记得检查一下目录权限,当然了 gitlab-ctl tail 查看日志才是更有效的方法!
为了区分验证修改文件目录是否生效,备份原git-data文件夹:
cd /var/opt/gitlabmv git-data git-dataold
生成配置,并重启gitlab服务:
gitlab-ctl reconfiguregitlab-ctl restart
浏览器登陆gitlab:
登陆web控制台创建一个群组-zhangpeng
创建一个项目demo:
克隆项目到本地,并提交文件到仓库:
只是单纯的想知道gitlab服务器上面操作查找demo的存储位置...原来是在repositories/@hashed目录下....
就先记录到这里吧.....后面再弄一下ldap等其他的集成等其他的功能.........
-
gitlab 15.8 on rocky 8过去一直gitlab搭建在kubernetes上,但是很多的管理不方便:资源的备份。pv,pvc这些管理扩容,升级,迁移,上传文件的大小等种种问题。现在想把gi
-
笔记本电脑怎样建立无线网络_笔记本如何建立无线局域网1、 我们不仅可以利用笔记本的无线网卡进行无线上网,而且还可以建立无线局域网。那么笔记本如何建立无线局域网呢?下面是小
-
雷克萨斯RX450hL的实测表现依然强劲解答:1、【有车后的性能衡量】这个“L”不是另一个“L”。雷克萨斯RX450hL加长版不是针对中国市场的特别版,但在
-
深圳有哪些生物公司_环球新资讯1、深圳市海王生物工程股份有限公司海王集团成立于1989年,1998年上市,是一家集医药产品研发、医药工业制造、医药商业流通、医药零售连锁为一
-
焦点热讯:年轻人越来越离不开B站了:日均使用96分钟 给Up主分成91亿年轻人的生活方式中,刷B站已经成为离不开的一部分,昨天B站发布了2022年财报,全年营收219亿元人民币,较2021年增
-
流动性预期趋紧 沪锡失守二十万关口-天天观天下【流动性预期趋紧沪锡失守二十万关口】日内锡价跌幅扩大,沪锡主力低开下探,收于199500元 吨,跌幅3 51%,伦锡跌至24450美元。美国上周初请失
-
眼保健超的正确做法_眼保健超正确做法图1、按摩这几个穴位,对眼睛有好处:2、13、、目窗穴4、目窗穴位处头部,在前部发际线往上约1 5寸,双瞳所对之处即是。按
-
新消息丨奥赛康3月2日盘中涨幅达5%以下是奥赛康在北京时间3月2日09:40分盘口异动快照:3月2日,奥赛康盘中涨幅达5%,截至9点40分,报9 81元,成交3439 03万元,换手率0 39%。注
-
报考事业单位生源地是什么意思_生源地是什么意思1、小编将集中为考生解答相关的问题,赶紧来看看吧:2、户籍:3、又称户口,是登记户口的册籍,也就是登记户口所在地的文件。
-
热泵板块3月1日涨0.37%,盾安环境领涨,主力资金净流出400.18万元 环球看点3月1日热泵板块较上一交易日上涨0 37%,盾安环境领涨。当日上证指数报收于3312 35,上涨1 0%。深证成指报收于11914 32,上涨1 11%。热泵板块个
-
唯美古风の服饰篇1_唯美古风衣服1、各种古装美图合集,快来排排坐看美女~~~2、曲鸾是中国服饰体系中的一种深衣。深的衣服根据下摆是否包在前面可以分为
-
【世界独家】珀琉斯和他的妻子有哪些童话故事?1、珀琉斯和忒提斯的故事著名英雄珀琉斯是宙斯聪明的儿子埃阿科斯与河神阿索波斯的女儿埃癸娜所生的儿子。2、最伟大的英雄赫拉
-
天天微速讯:鲜面条煮几分钟可以熟_煮鲜面条煮多久能熟1、1、鲜面条加一次水煮两分钟左右为最佳,煮时间短了不熟,煮时间长了煮烂了不好吃。2、以上就是【鲜面条煮几分钟可以熟
-
北京节水条例实施首日发现23起违法行为!将立案调查3月1日,《北京市节水条例》正式实施,北京市水务局组织所属北京市水务综合执法总队和各区水务综合执法大队在全市范围内开展节水专项执法行动
-
招姻缘的手链怎么戴 红纹石手链可招正缘桃花 天天热资讯现在很多人都比较喜欢佩戴手链,而且很多饰品也是不挑性别的,因此不少男女都会佩戴手链。比如黑曜石手链、红绳等等,这些手链都具有招桃花旺
-
APEC海洋可持续发展中心 全球视讯1、APEC海洋可持续发展中心是中国在APEC框架下设立的首个海洋合作机制。2、APEC海洋中心位于中国厦门,依托单
-
严重影响生活质量的带状疱疹,到底该如何做好预防?中国疾病预防控制中心原副主任、中华预防医学会副会长梁晓峰 随着大众健康意识的提升和社会老龄化的不断加剧,越来越多的人开始关注老年人常见
-
环球微动态丨打造“十化”警务升级版丨推进行政服务便利化:达日县道安委召开“一路五方”联席会打造“十化”警务升级版丨推进行政服务便利化:达日县道安委召开“一路五方”联席会
-
恒银科技3月1日快速回调 全球观点以下是恒银科技在北京时间3月1日10:50分盘口异动快照:3月1日,恒银科技盘中快速回调,5分钟内跌幅超过2%,截至10点50分,报6 52元,成交1 51
-
电子邮件抄送填什么_电子邮件抄送1、1、抄送:就是发邮件给收件人的同时将该邮件发送给另外的人暗送:就是发邮件给收件人的同时将该邮件发送给另外的人抄送
-
糟粕是什么意思_词语糟粕是什么意思|今日精选欢迎观看本篇文章,小升来为大家解答以上问题。糟粕是什么意思,词语糟粕是什么意思很多人还不知道,现在让我们一起来看看吧!1
-
劲爆!郑爽晒张恒私密视频!躺地上痛苦呻吟,被指疑似嗑药引热议劲爆!郑爽晒张恒私密视频!躺地上痛苦呻吟,被指疑似嗑药引热议,郑爽,张恒,劲爆
-
不能随便穿1、砗磲手串建议长期佩戴。2、首先,现在砗磲特别是玉化砗磲“变污”是可以控制的,玉化砗磲化学性质相对稳定,长期佩戴也没太
-
一千万韩元等于多少人民币_100万韩元等于多少人民币1、根据2020年1月6日汇率,1000000韩元=5962 6239人民币,1人民币=167 41韩元。2、韩币的基本
-
全国人大代表钟铮:建议支持新型储能发展 完善容量电费机制|北京问答全国人大代表、美的集团副总裁兼CFO钟铮将在今年“两会”提出六项建议,其中包括支持新型储能产业高质量发展的建议。钟铮2月28日向第一财经...
-
落红不是无情物化作春泥更护花的哲理是几年级_当前最新1、落红,本指脱离花枝的花,但是,并不是没有感情的东西,即使化做春泥,也甘愿培育美丽的春花成长。2、不为独香,而为护花。
-
联合国赞赏中方所做贡献,三国政要宣布访华,美口出狂言威胁中国|全球短讯中方所发布与解决乌克兰危机相关的立场文件,引发国际社会的关注。值得注意的是,联合国赞赏了中方发布此文件的行为,并肯定了中
-
02月28日17时, 昆明晚高峰路况-每日视讯昆明信息港讯机器人小明02月28日17时,昆明晚高峰交通呈现交通拥堵,昆洛路从彩云北路到广和路-由北向南拥堵最为严重,拥堵指数2 5,通行时速
-
黑龙江省就业工作实现首月“开门红”中新网黑龙江新闻2月28日电(林乐君记者王妮娜)今年年初以来,黑龙江省就业工作两项指标实现首月“开门红”,1月份,该
-
QQ彩贝联盟 环球通讯1、QQ彩贝联盟是腾讯开放平台与B2C合作商家共同打造的覆盖吃、住、行、旅游、购物、娱乐、金融服务、生活服务等全方位