IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> GitLab 安装及使用 -> 正文阅读

[系统运维]GitLab 安装及使用


1、官网

官网地址

1.1、说明

Gitlab 有 EE (商业版本, 收费) CE (社区版本, 免费).

1.2、官方提供的下载及安装方法(社区版本, 免费)

不同操作系统、环境的下载及安装方法。

地址

PS : 本文中使用的是 Docker ,在该页面也可找到对应的说明。

2、安装

2.1、Docker

2.1.1、说明

Docker Hub 选择拉取的版本

PS : 收费版拉取版本选择

2.1.2、安装文档

安装文档地址

2.1.3、通过 Docker 安装步骤

操作系统 : CentOS Linux release 7.6.1810 (Core)
操作系统安装包:CentOS-7-x86_64-Minimal-1708.iso

2.1.3.1、安装 Docker

Docker 安装及使用参考

yum -y install docker

2.1.3.2、拉取镜像

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

PS : 镜像比较大,Docker Hub 显示 938.29 MB,docker images 显示 2.25 GB。

2.1.3.3、设置变量

# 创建目录
mkdir -p /srv/gitlab
# 设置变量
# 临时生效,重启则失效。(不推荐)
# export GITLAB_HOME=/srv/gitlab
# 编辑文件
vi /etc/profile
# 增加配置
GITLAB_HOME=/srv/gitlab
export GITLAB_HOME
# 退出文件编辑,另配置生效
source /etc/profile
# 测试是否设置成功
echo $GITLAB_HOME

2.1.3.4、启动容器

docker run --detach --publish 443:443 --publish 80:80 --publish 10022:22 --name gitlab --privileged=true --restart always --volume $GITLAB_HOME/config:/etc/gitlab:Z --volume $GITLAB_HOME/logs:/var/log/gitlab:Z --volume $GITLAB_HOME/data:/var/opt/gitlab:Z gitlab/gitlab-ce:13.12.4-ce.0

PS : 22 端口用于操作系统远程,所以改为 10022。

初始化的时间可能比较长(大概8分钟左右),可以查看日志,确认安装过程正常。

docker logs -f gitlab

安装完成界面,设置登录密码(注意 : 不兼容 IE)

在这里插入图片描述

登录页面如下:

在这里插入图片描述

账户名 : root

密码即为刚设置的。登录之后显示的页面如下

在这里插入图片描述

安装完成!

PS : IE 浏览器存在兼容性问题,请不要使用。

3、备份

# docker exec -t <container name> gitlab-backup create
docker exec -t gitlab gitlab-backup create
# 结果中会显示
# Creating backup archive: 1627628273_2021_07_30_13.12.8_gitlab_backup.tar ... done

需要注意 :
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.

gitlab.rb 、 gitlab-secrets.json 所在的目录(建议整个目录备份)

/srv/gitlab/config

官方提供的备份方案

4、恢复

官方示例

# Stop the processes that are connected to the database
docker exec -it <name of container> gitlab-ctl stop puma
docker exec -it <name of container> gitlab-ctl stop sidekiq

# Verify that the processes are all down before continuing
docker exec -it <name of container> gitlab-ctl status

# Run the restore
docker exec -it <name of container> gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce

# Restart the GitLab container
docker restart <name of container>

# Check GitLab
docker exec -it <name of container> gitlab-rake gitlab:check SANITIZE=true

测试

# Stop the processes that are connected to the database
docker exec -it gitlab gitlab-ctl stop puma
docker exec -it gitlab gitlab-ctl stop sidekiq

# Verify that the processes are all down before continuing
docker exec -it gitlab gitlab-ctl status

# Run the restore
docker exec -it gitlab gitlab-backup restore BACKUP=1627628273_2021_07_30_13.12.8

# Restart the GitLab container
docker restart gitlab

# Check GitLab
docker exec -it gitlab gitlab-rake gitlab:check SANITIZE=true

PS : 记不住备份的名字,可以去容器目录 /var/opt/gitlab/backups 中查找。

docker exec -it gitlab ls /var/opt/gitlab/backups

5、升级

升级前请提前做好备份,安全第一,代码无价!!!
建议 : 复制整个环境,升级好之后,再切换。避免出现事故,造成 git 上面的数据丢失!!!
拉取升级镜像(注意 : 不适用于大版本升级。大版本升级请参考。)
PS : 官方对于版本的定义

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

停止已经启动的容器

docker stop gitlab

启动容器

docker run --detach --publish 443:443 --publish 80:80 --publish 10022:22 --name gitlab_13.12.8 --privileged=true --restart always --volume $GITLAB_HOME/config:/etc/gitlab:Z --volume $GITLAB_HOME/logs:/var/log/gitlab:Z --volume $GITLAB_HOME/data:/var/opt/gitlab:Z gitlab/gitlab-ce:13.12.8-ce.0

查看日志

docker logs -f gitlab_13.12.8

删除之前启动的容器(推荐 : 不删除,作为备份使用。如果一定要删除,安全第一,成功启动了新的容器,再删除。)

# 推荐不删除,作为备份。硬盘没空间的时候再删除。
# docker rm gitlab

总结

知道 Docker 如何使用,安装过程还是相对比较简单的。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 17:01:25  更:2021-07-31 17:02:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:34:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码