gitlab--安装和配置

简介: gitlab--安装和配置

docker 安装 gitlab


先配置镜像加速器

编辑下面文件(如果没有则新建)

vim /etc/docker/daemon.json

写入如下内容

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

systemctl daemon-reload
systemctl restart docker

我这里用的版本是:gitlab/gitlab-ce:14.8.2-ce.0

环境处理

#1:防火墙是否开启,开启了可以直接关闭,如果不能关闭,就把所需的端口进行开放
systemctl status firewalld
#2:开放指定端口(因为22一般被sshd服务占据,所以这里用222端口)
firewall-cmd --zone=dmz --add-port=80/tcp --permanent
firewall-cmd --zone=dmz --add-port=443/tcp --permanent
firewall-cmd --zone=dmz --add-port=22/tcp --permanent
firewall-cmd --zone=dmz --add-port=222/tcp --permanent
firewall-cmd --reload #刷新
firewall-cmd --zone=dmz --list-ports

然后在重启 docker

systemctl restart docker # 重启 docker

拉取镜像

docker pull gitlab/gitlab-ce:14.8.2-ce.0

生成挂载目录

# 生成挂载目录
mkdir -p /home/gitlab/etc/gitlab  
mkdir -p /home/gitlab/var/log
mkdir -p /home/gitlab/var/opt

启动容器,添加挂载路径,–privileged=true 要加上,不然可能因为权限问题导致启动失败

# 启动容器
docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab-dev --restart always --privileged=true  -v /home/gitlab/etc/gitlab:/etc/gitlab -v /home/gitlab/var/log:/var/log/gitlab -v /home/gitlab/var/opt:/var/opt/gitlab gitlab/gitlab-ce:14.8.2-ce.0
  • -i :以交互模式运行容器,通常与 -t 同时使用命令解释
  • -t :为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -d :后台运行容器,并返回容器ID
  • -p:80:80 将容器内 80 端口映射至宿主机 80 端口,这是访问 gitlab 的端口
  • -p:222:22 将容器内22端口映射至宿主机222端口,这是访问 ssh 的端口
  • -v :/home/gitlab/etc/gitlab:/etc/gitlab 将容器/etc/gitlab 目录挂载到宿主机 /home/gitlab/etc/gitlab 目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
  • –restart always :容器自启动
  • –privileged=true :让容器获取宿主机 root 权限
  • –name gitlab-dev :设置容器名称为 gitlab-dev
  • gitlab/gitlab-ce:14.8.2-ce.0 :镜像的名称,这里也可以写镜像ID

查看容器是否启动

容器正常启动的


调整 gitlab 的配置


修改 gitlab.rb 配置文件操作最好是在容器内进行修改(也可以在宿主机映射目录中修改,记得修改完后进入容器验证修改结果),在挂载到宿主机的文件上直接进行修改可能会出现配置更新不到容器内,或者是不能即时更新到容器内,导致 gitlab 启动成功,但是无法访问或其它问题。

gitlab.rb文件内容默认全部注释

vim /home/gitlab/etc/gitlab/gitlab.rb
# 配置 http 协议所使用的 gitlab 访问地址,可以写域名。如果端口不写的话默认为 80 端口
external_url 'http://10.6.215.220'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '10.6.215.220'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是 run 时 22 端口映射的 222 端口

在容器改需要先进入容器在改

# 进入容器
docker exec -it gitlab-dev /bin/bash
# 修改
vi /etc/gitlab/gitlab.rb

重启 gitlab 容器

docker restart gitlab-dev

访问 http://10.6.215.220/

如果看到下面页面则安装成功,重启之后需要等待会


登录 gitlab


上面我们已经可以正常访问到登录页面了,但没有账号和密码怎么办?

gitlab 给我们的管理员账户是 root,Gitlab 默认的管理员临时密码在 gitlab 容器中 /etc/gitlab/initial_root_password 文件中,如果该路径下没有这个文件,我们就无法正常登录到 gitlab中去

因为我们挂载到本地了,所以可以在本地看到

cat /home/gitlab/etc/gitlab/initial_root_password

但是超级管理员的密码太复杂了,我们可以修改它,操作步骤如下

#  进入容器内部
docker exec -it gitlab-dev /bin/bash
# 进入控制台,等待控制台加载完毕
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为12345678,必须同时更改密码和password_confirmation才能使其正常工作
user.password = '12345678'
user.password_confirmation = '12345678'
# 保存
user.save
# 退出
exit

这样密码就修改完成了,最后我们可以拿 root 和 12345678 登录 gitlab


配置Gitlab界面语言为中文


gitlab 默认是英文的,对英文不好的不太友好,gitlab 里可以设置成中文,但不是所有的都会翻译成中文,只有大部分会

操作步骤如下

保存后刷新一下页面,就变为中文的了


相关文章
|
4月前
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
3月前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
4月前
|
jenkins Devops Java
jenkins学习笔记之十:配置Gitlab提交流水线
jenkins学习笔记之十:配置Gitlab提交流水线
|
5月前
|
Devops 持续交付 开发工具
入职必会-开发环境搭建54-GitLab下载和安装
GitLab 是一个基于 web 的 Git 仓库管理工具,提供了代码托管、版本控制、协作开发、持续集成等功能,是一个综合的 DevOps 平台。用户可以使用 GitLab 托管他们的代码仓库,并利用其丰富的功能来管理和协作开发项目。 以下是 GitLab 的一些主要特点和功能。
入职必会-开发环境搭建54-GitLab下载和安装
|
4月前
|
Ubuntu 安全 网络安全
在Ubuntu 16.04上安装和配置GitLab的方法
在Ubuntu 16.04上安装和配置GitLab的方法
75 0
|
4月前
|
存储 Ubuntu 安全
在Ubuntu 18.04上安装和配置GitLab的方法
在Ubuntu 18.04上安装和配置GitLab的方法
71 0
|
4月前
|
缓存 Kubernetes Shell
CI/CD:安装配置Gitlab Runner
CI/CD:安装配置Gitlab Runner
356 0
|
4月前
|
开发工具 git
[git]记配置本地git到gitlab并推送
[git]记配置本地git到gitlab并推送
|
6月前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
jenkins Java 持续交付
蓝易云 - 从零开始配置Jenkins与GitLab集成:一步步实现持续集成
以上就是从零开始配置Jenkins与GitLab集成的步骤,希望对你有所帮助。
114 2