linux7下安装gitlab,centos7下安装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 "youremail@example.com"

#获取密钥

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或是开源中国的码云好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在离线环境中安装GitLab,你可以按照以下步骤进行操作: 1. 首先,确保你已经下载了GitLab的离线安装包,并将其放置在合适的位置。 2. 在安装之前,你需要卸载旧版本的Docker。你可以使用以下命令来卸载旧版本的Docker: ``` yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce ``` 3. 接下来,你需要启动一个Docker容器来安装GitLab。你可以使用以下命令来启动容器: ``` docker run --detach --hostname git.xxx.com --publish 8443:443 --publish 8880:8880 --publish 60022:22 --name gitlab --restart unless-stopped -v /mnt/gitlab/etc:/etc/gitlab -v /mnt/gitlab/log:/var/log/gitlab -v /mnt/gitlab/data:/var/opt/gitlab 容器ID ``` 这个命令会启动一个名为"gitlab"的容器,并将GitLab的配置、日志和数据目录挂载到宿主机的相应目录中。 4. 如果你想自定义GitLab的端口,你可以使用以下命令来启动容器: ``` docker run -d -p 30000:30000 -p 30001:443 -p 30002:22 --name gitlab --restart unless-stopped -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime gitlab/gitlab-ce ``` 这个命令会将GitLab的端口映射到宿主机的指定端口,并将GitLab的配置、日志和数据目录挂载到宿主机的相应目录中。 请根据你的具体需求选择适合的命令进行安装。 #### 引用[.reference_title] - *1* [CentOS7/Linux - Gitlab离线安装(Docker环境)](https://blog.csdn.net/weixin_40147979/article/details/118604474)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [docker安装gitlab(离线)](https://blog.csdn.net/HelloJavaaaa/article/details/123274391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值