自动化一小步CentOS7部署GitLab

1 缘起

在一次偶然的自动化部署学习中,
对,学习也是有偶然的,
学习了Jenkins的服务部署编排,
于是又搜索有没有其他方式部署服务,
当然有,GitLab当然有自己的一套CI/CD,
而且,很专业,设计服务的各个阶段:build、test、deploy,
于是,登录公司的GitLab,发现没有权限,
于是为了体验和学习GitLab的CI/CD过程,
自己搭建一套GitLab服务,作为实验环境。
过程还是很曲折的,
之前使用Ubuntu20桌面版,都是在虚拟机中安装,正常开关机,
可是,真正的物理裸机安装Ubuntu20时,发现,无法正常关机(无法断电,只能关闭操作系统),
于是,开始折腾(搜索解决方案,换系统),
改参数不可以,于是换操作系统,使用CentOS7,
最后,折腾2天,
依旧没有解决正常断电的问题,
最终妥协,强制关机。

2 docker-compose编排

两个GitLab源:
(1)registry.gitlab.cn/omnibus/gitlab-jh:latest
(2)gitlab/gitlab-ce:latest
本文使用第2个源,第一个源在Ubuntu20中部署使用。

2.1 不配置初始密码

不配置初始密码,安装成功后,需要进入容器内,
查看管理员初始密码,并于24小时内修改密码,
后文,以这个为例,登录。

version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: '192.168.1.12'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.1.12:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - '8929:8929'
      - '2224:22'
    volumes:
      - '/home/xindaqi/install/gitlab/config:/etc/gitlab'
      - '/home/xindaqi/install/gitlab/logs:/var/log/gitlab'
      - '/home/xindaqi/install/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'

这里不做层级划分,直接对有值的参数进行描述。

序号参数描述
1imageGitLab镜像名称
2restart重启模式,always,失败后重启
3hostname主机名。安装GitLab的主机IP
4GITLAB_OMNIBUS_CONFIGGitLab初始化配置,
external_url:对外开放的URL,即http://IP
gitlab_shell_ssh_port:SSH登录的端口
5ports端口映射,
8929:80即对外开放8929端口,通过URL访问
2224:22即SSH开放2224端口
6volumes文件挂载,
config:配置文件
logs:日志文件

data:数据文件
7shm_size共享内存

2.2 配置初始密码

配置初始密码,
安装完成后,直接使用管理员root和该密码登录,
无需其他操作,可自行尝试。

version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    restart: always
    hostname: '192.168.1.12'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.1.12:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
        gitlab_rails['initial_root_password'] = "12345678"
    ports:
      - '8929:8929'
      - '2224:22'
    volumes:
      - '/home/xindaqi/install/gitlab/config:/etc/gitlab'
      - '/home/xindaqi/install/gitlab/logs:/var/log/gitlab'
      - '/home/xindaqi/install/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'
序号参数描述
1imageGitLab镜像名称
2restart重启模式,always,失败后重启
3hostname主机名。安装GitLab的主机IP
4GITLAB_OMNIBUS_CONFIGGitLab初始化配置,
external_url:对外开放的URL,即http://IP
gitlab_shell_ssh_port:SSH登录的端口
initial_root_password:管理员初始密码
5ports端口映射,
8929:80即对外开放8929端口,通过URL访问
2224:22即SSH开放2224端口
6volumes文件挂载,
config:配置文件
logs:日志文件

data:数据文件
7shm_size共享内存

注意:

如果安装GitLab的服务器80端口被占用,
务必修改对外暴露的端口。
external_url ‘http://192.168.1.12:8929’
以及ports的容器端口:8929:8929,
保证GitLab的Http地址中包含8929。
在这里插入图片描述

3 防火墙配置

CentOS7默认关闭防火墙,端口不对外开放,
因此,将端口对外开放需要先开放端口。
GitLab使用8929端口,因此开放8929端口,tcp方式。

  • 开放端口
firewall-cmd --zone=public --add-port=8929/tcp --permanent 
  • 重启防火墙
firewall-cmd --reload
  • 查看端口
firewall-cmd --list-ports

操作过程如下图所示。
在这里插入图片描述

4 启动服务

使用docker-compose.yml编排后,
进入docker-compose.yml所在路径,启动GitLab。

docker-compose up -d

第一次安装GitLab,本地没有GitLab镜像,
安装前,会先拉取镜像,如下图所示。
在这里插入图片描述
完成镜像拉取后,开始启动服务,如下图所示。
在这里插入图片描述

5 GitLab操作

5.1 首页

地址:http://192.168.1.12:8929/
服务正在启动过程,出现502,如下图所示,耐心等待。
在这里插入图片描述
等待服务启动后,
刷新,出现如下图的登录界面。
当然,登录需要用户名和密码,
本文的编排,没有配置默认密码,因此需要进入容器找到默认密码。
在这里插入图片描述

5.2 查看密码

本文使用第一种方式部署GitLab,没有配置初始密码,
因此,需要如下操作。

  • 进入GitLab容器内,命令格式:
docker exec -it CONTAINER_ID /bin/bash
  • 查看容器,获取容器ID。
docker ps
  • 进入容器:
docker exec -it jkjkjdkare /bin/bash
  • 初始密码路径:
    /etc/gitlab/
  • 文件
    initial_root_password
  • 查看密码
vi /etc/gitlab/initial_root_password

内容如下图:
在这里插入图片描述

  • 用户名密码
    GitLab默认管理员Administrator的用户名为root,因此使用root作为用户名登录。

5.3 登录

序号属性描述
1用户名root
2密码如上图所示

登录后如果出现如下图的404,请重新进入:http://192.168.1.12:8929/

在这里插入图片描述

刷新页面后,重新进入
http://192.168.1.12:8929/
进入管理员模式的页面如下图所示,拥有GitLab的最高操作权限,可以查看各种指标,如所有项目、所有用户等等。
在这里插入图片描述

5.4 修改密码

从上面截取的初始密码可知,用户首次使用初始密码之后,该密码会在24小时候自动变更,
因此,需要手动修改密码。
这里,将管理员密码修改为:123456admin。
密码修改入口在Profile,如下图所示。
在这里插入图片描述
修改密码如下图所示。
在这里插入图片描述

6 小结

核心步骤:
(1)编排:配置端口、文件挂载;
(2)开放端口:防火墙操作;
(3)初始密码:管理员登录名为root,进入容器查看初始密码,并及时修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值