linux7下安装gitlab,centos7下安装gitlab-程序员宅基地

技术标签: linux7下安装gitlab  

尝试通过两种方式搭建gitlab,直接安装和docker安装。

然后我们需要安装的是社区版(免费版本)

首先按官网提示先安装依赖,然后执行下面命令添加yum源,选择gitlab-ce社区版

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

更新本地yum缓存

sudo yum makecache

安装gitlab-ce

sudo yum install -y gitlab-ce

安装成功后会有以下图标:

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

gitlab安装完成

启动gitlab:gitlab-ctl start,默认8080端口,设置端口需要修改配置vi /etc/gitlab/gitlab.rb,external_url设置域名和端口号,没有域名则设置ip

#GitLab常用命令

sudo gitlab-ctl start # 启动所有 gitlab 组件;

sudo gitlab-ctl stop # 停止所有 gitlab 组件;

sudo gitlab-ctl restart # 重启所有 gitlab 组件;

sudo gitlab-ctl status # 查看服务状态;

sudo gitlab-ctl reconfigure # 启动服务;

sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;

gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;

sudo gitlab-ctl tail # 查看日志;

输入ip:端口号或域名:端口号后访问,如果出现502-Whoops, GitLab is taking too much time to respond,则说明端口被占用,默认是8080端口,第一次访问需要直接修改root密码

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

端口被占用

这里修改的external_url会影响到后面创建工程的git远程服务器地址,假如我修改为localhost

external_url 'http://localhost:8099',则出现下图的情况,最好还是填自己的域名或者直接ip地址。

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

错误的域名

每次修改配置文件/etc/gitlab/gitlab.rb后需要gitlab-ctl reconfigure才能生效

上传代码到gitlab

到gitlab上随便注册一个账号并登录,然后创建了一个test项目仓库

本地安装了git,到项目根目录下打开Git Bash,并执行git init创建本地仓库

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

git init

创建了之后项目文件夹根目录会出现.git的隐藏文件夹,这个就是我们的本地仓库,需要脱离版本控制的话可以直接删除这个.git文件夹

接下来可以尝试创建一个文件touch text.txt并写入hello world,然后执行git add添加到暂存区,进而git commit到本地版本库(这里可以发现在windows下使用的git bash跟linux下命令一样)

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

提交代码到本地仓库

然后需要提交到gitlab远程仓库,首先复制git项目地址

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

gitlab上获取地址

然后git remote add命令添加我们的gitlab远程仓库

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

远程仓库地址

然后尝试git push提交代码,这里弹出框要求输入用户名和密码,输入之后就可以提交成功,然后到gitlab上也可以看到提交记录

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

http方式需要用户名密码

上面是通过http方式提交,一般需要配置SSH Keys使用ssh方式,使用ssh-keygen生成密钥文件id_rsa.pub(在c盘-》用户-》用户名-》.ssh目录下)

#使用ssh-keygen生成密钥文件id_rsa.pub

ssh-keygen -t rsa -C "[email protected]"

#获取密钥

cat ~/.ssh/id_rsa.pub

7.将密钥全部复制粘贴到gitlab下的settings->ssh keys中即可配置成功,然后就可以到gitlab项目中选择ssh地址

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

ssh方式地址

8.删除旧的远程仓库地址,并配置新的ssh方式的地址即可

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

修改远程仓库地址

9.还有个强制提交的问题,假如我们的远程仓库已经存在文件,那么可以先pull合并到本地仓库才能提交,或者是加-f参数强制提交,但是gitlab会报错

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

强制提交报错

强制提交需要放开限制,选择unprotect

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

放开限制

Docker安装gitlab

根据官网的docker安装方式我们找到docker获取giblab-ce镜像的命令

docker pull gitlab/gitlab-ce

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

gitlab-ce镜像

直接docker run创建和启动容器,然后直接访问ip:端口号就可以打开了gitlab页面了

docker run -d -p 8078:80 --name mygitlab gitlab/gitlab-ce

容器80端口映射到宿主机8078端口,dockerfile上也可以看到容器是80端口EXPOSE 443 80 22

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

docker运行gitlab

可以加-v指定数据卷,宿主机上可以方便修改配置文件

cd ~

#可以考虑把配置文件放到一个文件夹里边统一管理

mkdir gitlab

cd ~/gitlab

#启动gitlab容器后,拷贝容器中的默认配置文件到当前文件夹

docker container cp mygitlab:/etc/gitlab . && mv gitlab config

docker container cp mygitlab:/var/opt/gitlab . && mv gitlab data

docker container cp mygitlab:/var/log/gitlab . && mv gitlab logs

#先删除旧的容器

docker rm mygitlab

#创建新的容器,指定使用当前目录下的配置目录作为数据卷

docker run -d -p 8078:80 --name mygitlab \

-v $PWD/config:/etc/gitlab \

-v $PWD/data:/var/opt/gitlab \

-v $PWD/logs:/var/log/gitlab \

gitlab/gitlab-ce

但是启动后报错:

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

添加数据卷后启动报错

并且在下方发现,可能由于权限问题导致容器启动失败时需要去执行的命令

4d4b38944550?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

权限问题导致

在Stack Overflow上也搜索到相关报错问题:

https://stackoverflow.com/questions/39480989/moving-location-of-dockerized-gitlab-data-volumes

需要修改权限:根据Stack Overflow上的提示我们需要添加--restart always让容器报错也不会自动关闭,并修改文件权限后重启即可

#添加--restart always,容器报错后不自动关闭

docker run -d -p 8078:80 --name mygitlab --restart always \

-v $PWD/config:/etc/gitlab \

-v $PWD/data:/var/opt/gitlab \

-v $PWD/logs:/var/log/gitlab \

gitlab/gitlab-ce

#修改文件权限

docker exec -it mygitlab /bin/bash -c "chown -R git /var/opt/gitlab/gitlab-rails/uploads && find /var/opt/gitlab/gitlab-rails/uploads -type f -exec chmod 0644 {} \; && find /var/opt/gitlab/gitlab-rails/uploads -type d -not -path /var/opt/gitlab/gitlab-rails/uploads -exec chmod 0700 {} \;"

docker exec -it mygitlab /bin/bash -c 'update-permissions'

#重启容器

docker restart mygitlab

gitlab 官方推荐是4g内存,2g内存也可以跑,内存占用比较高。个人使用的话可以用,但没必要。感觉还是github或是开源中国的码云好。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42436482/article/details/116976320

智能推荐

py文件封装成exe文件-程序员宅基地

py文件封装成exe文件_py文件封装成exe

shell脚本-程序员宅基地

shell脚本介绍把所有操作都记录到一个文档中,然后去调用文档中的命令,这个文档就是shell脚本。Shell脚本能帮助我们方便地管理服务器,我们可以指定一个任务计划,定时去执行某个shell脚本以满足需求。自定义的脚本最好都放在/usr/local/sbin/目录下一是可以更好地管理文档;二是以后接管你工作的管理员都知道自定义脚本放在那里,方便维护。编写第一个shell脚本she...

ssh免密登录设置-程序员宅基地

服务器需要先安装openssh 然后用ssh-keygen生成当前账户的公钥(id_rsa.pub)和私钥(id_rsa),复制公钥内容。 到远程服务器的.ssh目录下,创建文件authorized_keys,将公钥内容黏贴进去。并修改authorized_keys文件的权限为600 从本地连接远程服务器就可以不需要输入密码了。PS: 第一次登录可能会出现一个对话框,类似于The...

bert&kera的文本分类的小项目_bert_model = load_trained_model_from_checkpoint(co-程序员宅基地

前不久了解到bert是在去年十月份的时候由google发行,当时引起一阵轩然大波。因为它在NLP上取得的效率远远超过google以前发布的word2vec的。也可以说bert就是word2vec的升级版,在特征提取效率上面有很显著的效果。然后昨天我看到有位大佬说结合keras库用bert很方便,而且还提供了许多功能模块,所以就借鉴着调试了这个bert_keras的文本分类的小项目。不过据昨天某..._bert_model = load_trained_model_from_checkpoint(config_path, checkpoint_path

[宋史学习] 三省六部制的破坏与宋初的中央政府机构_殿前司和侍卫司的区别-程序员宅基地

中书与宰相、副相、使相宋初沿后周旧制,以“中书”为最高行政机构。中书全称为中书门下,亦称政事堂、都堂、政府、东府,为宰相和参知政事(副相)的议事与办公处,与枢密院(枢府、西府)合称“二府”,为宋代最高政治、军事机构。宋初也沿晚唐、五代旧制,“中书令、侍中、同中书门下平章事,已上为宰相”。宋初也循唐、五代旧制,宰相都例兼三馆馆职。太祖时初任宰相为同平章事兼集贤殿大学士,称集贤相;后升兼监修国史,称史馆相;最后升兼昭文馆大学士,称昭文相。两相同时任命时,一兼监修国史,一兼集贤殿大学士,以示两相的高低。_殿前司和侍卫司的区别

如何优化Nginx网页优化,高并发场景,安全优化???-程序员宅基地

谢谢观看一,隐藏版本号第一种修改配置文件隐藏步骤一:先看下之前版本号,方便咱们更改后对比!步骤二:更改配置文件nginx.conf,咱们就在http段内添加步骤三:重启nginx服务,验证!第二种;修改Nginx源码文件,指定不显示版本号,需要重新编译;步骤一:到软件包所在位置,修改源码编译文件步骤二:保存,重新编译下步骤三:重启服务nginx验证:二,修改Nginx用户的与组第一种:编译安装是指定用户与组;第二种:修改配置文件更改;步骤一:编辑Nginx.conf步骤二:重启服务Nginx;三,网页缓存时

随便推点

2021年金九银十最新的VUE面试题️《️记得收藏️》_vue 面试亲口贝和浅口贝-程序员宅基地

【肝魂大白总结】2021年金九银十最新的VUE面试题️《️记得收藏️》目录 ????️‍????开讲啦!!!!????️‍????苏州程序大白????️‍????:capital_abcd:1、讲一讲 MVVM:abcd:2、Vue2.x 响应式数据原理:1234:3、Vue3.x 响应式数据原理:symbols:4、vue2.x 中如何监测数组变化:abc:5、nextTick 知道吗,实现原理是什么?:a:6、Vue 的生命周期:ab:7、接口请求一般放在哪个生命周期中:b:8、说一下 Compu_vue 面试亲口贝和浅口贝

【GStreamer 】5-2 USB相机转RTSP网络视频流优化_c#用usb摄像头实现rtsp视频流的推送-程序员宅基地

介绍gstreamer-rtsp-server 实现USB相机转RTSP流,并且实现硬件加速优化_c#用usb摄像头实现rtsp视频流的推送

如何用Tableau绘制涂色地图_tableau地图颜色深浅-程序员宅基地

做数据分析的地域分析时,用地图的方式呈现出来更为直观一些,下面记录用Tableau10.5的地图功能做一个涂色的地图。 新建数据源连接要绘制地图的源数据表格 数据源导入后点击右下角的转到工作表 左侧列表出现两个模块:维度和度量,所谓的维度就是指的对分析角度的描述,也就是数据源表里的地址字段,而度量就是对分析角度的量化,也就是数据源表里的人口字段。 单击”省份“左上角..._tableau地图颜色深浅

小区门禁卡可以复制到手机上吗_手机NFC可以复制小区用的门禁卡吗?-程序员宅基地

NFC功能是一种短距离的高频无线通信技术,俗称近场通信。手机上NFC功能出现已久,但是刚刚出现的时候基本不受待见,没有用户场景体现其用武之地。而近几年来随着小米公交功能、苹果iPhone支持地铁刷卡和其他手机厂商积极跟进,NFC功能重新焕发第二春。而且一些手机厂商的机型还支持了门禁模拟功能或手机电脑触碰传输功能,当然这些都需要系统级别的支持,除非你能ROOT而使用上第三方软件。机型系统支持门禁功能..._小区感应卡能复刻手机里吗

引入echarts官网社区的Gallery中的公交线路客流可视化_echarts gallery官网-程序员宅基地

地址https://gallery.echartsjs.com/editor.html?c=xryKWKNVGb需要的小伙伴可以看看哦!!!!_echarts gallery官网

编译安装zabbix提示错误及解决办法_zabbix6安装编译失败-程序员宅基地

1、问题:编译安装zabbix执行./configure时,提示configure: error: Not found mysqlclient library解决办法:安装mysql-develyum -y install mysql-devel2、编译安装完成后,访问WEB页面提示:date(): It is not safe to rely on the system's ti..._zabbix6安装编译失败

推荐文章

热门文章

相关标签