Linux-Gitllab安装
方法1:docker 方式安装
1.1. Linux-Gitllab安装
docker pull gitlab/gitlab-ce
docker pull gitlab/gitlab-ce:14.1.8-ce.0
(这是我使用的)
1.2.docker运行gitlab
# 运行1
docker run \
-itd \
-p 19980:80 \
-p 19922:22 \
-p 19943:443 \
-v /data/gitlab_data/etc:/etc/gitlab \
-v /data/gitlab_data/log:/var/log/gitlab \
-v /data/gitlab_data/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce:14.1.8-ce.0
##########忽视....这是我测试环境使用的
docker run \
-itd \
-p 19980:19980 \
-p 19922:22 \
-p 19943:443 \
-v /data/gitlab_data/etc:/etc/gitlab \
-v /data/gitlab_data/log:/var/log/gitlab \
-v /data/gitlab_data/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce:14.1.8-ce.0
##########忽视....这是我测试环境使用的
命令解释:
-i 以交互模式运行容器,通常与 -t 同时使用命令解释:
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-p 19980:80 将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口
-p 19922:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-p 19943:443 将容器内443端口映射至宿主机19943端口,这是访问https的端口
-v /data/gitlab_data/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/data/gitlab_data/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
--name gitlab 设置容器名称为gitlab-
gitlab/gitlab-ce:14.1.8-ce.0 镜像的名称+版本
1.3.一些必要的修改配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/data/gitlab_data/etc/gitlab.rb
),修改一下配置即可
# 配置http协议所使用的访问地址
external_url 'http://192.168.1.88'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.1.88'
gitlab_rails['gitlab_shell_ssh_port'] = 19922
##########忽视....这是我测试环境使用的
external_url 'http://192.168.1.88:19980'
# nginx['listen_port'] = 19980
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.1.88'
gitlab_rails['gitlab_shell_ssh_port'] = 19922
##########忽视....这是我测试环境使用的
保存文件后重启容器
# 使配置生效
docker exec gitlab gitlab-ctl reconfigure
# 重启镜像
docker restart gitlab
#当出现502错误时,请耐心等待几十秒,再次刷新就Ok了。
1.4访问测试
默认账号:root
默认密码可在宿主机cat /data/gitlab_data/etc/initial_root_password
对应容器:/etc/gitlab/initial_root_password
登录成功后,即可修改自己的密码...gitlab123456
参考:https://segmentfault.com/a/1190000019772866?utm_source=sf-similar-article
方法2:rpm包方式安装
1.安装包下载
清华源下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
2.安装配置
1.基础配置
# 关闭防火墙(测试环境...正式环境需要到时候开放端口)
systemctl stop firewalld && setenforce 0
# 安装相关依赖
yum install -y curl policycoreutils openssh-server openssh-clients
# 启动ssh服务&设置为开机启动(默认是早就起来了的)
systemctl enable sshd && systemctl start sshd
# 设置postfix开机自启,并启动,postfix支持gitlab发信功能 (这部可省略,不使用邮件功能的话)
yum install postfix
systemctl enable postfix && systemctl start postfix
2.安装
rpm -ivh gitlab-ce-14.1.8-ce.0.el7.x86_64.rpm
3.修改配置文件
external_url 'http://192.168.31.101:19980'
nginx['listen_port'] = 19980
4.启动gitlab
# 启动gitlab:
gitlab-ctl reconfigure && gitlab-ctl restart
# 查看主件信息:
gitlab-ctl status
# 开机自启:
systemctl enable gitlab-runsvdir.service
systemctl start gitlab-runsvdir.service
5.访问测试
默认账号:root
默认密码:cat /etc/gitlab/initial_root_password
[root@gzbsc001 tmp]# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: yZROzrArIdul7ysuhte+AhN3DVHxOqc6gGnOSB2HJl4=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
登录成功后,即可修改自己的密码...gitlab123456
3.gitlab常用命令
gitlab-ctl start #启动全部服务
gitlab-ctl restart #重启全部服务
gitlab-ctl stop #停止全部服务
gitlab-ctl restart nginx #重启单个服务
gitlab-ctl status #查看全部组件的状态
gitlab-ctl show-config #验证配置文件
gitlab-ctl uninstall #删除gitlab(保留数据)
gitlab-ctl cleanse #删除所有数据,重新开始
gitlab-ctl tail <svc_name> #查看服务的日志
gitlab-rails console production #进入控制台 ,可以修改root 的密码
4.卸载gitlab
使用gitlab 自带工具将数据全部清空
gitlab-ctl cleanse
停止gitlab
gitlab-ctl stop
卸载gitlab(注意这里写的是gitlab-ce)
rpm -e gitlab-ce
查看gitlab进程
ps -ef | grep gitlab
删除所有包含gitlab文件
find / -name gitlab | xargs rm -rf
Gitlab添加组、创建用户、创建项目
1.创建组
使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理
2,创建用户
创建用户的时候,可以选择Regular或Admin类型。
3.将用户添加到组中
选择某个用户组,进行Members管理组的成员
Gitlab用户在组里面有5种不同权限:
- Guest:可以创建issue、发表评论,不能读写版本库
- Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
- Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
- Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限
- Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限