GitLab
date
Dec 23, 2021
slug
gitlab
status
Published
tags
Gitlab
summary
GitLab
type
Post
GitLab-CE安装配置邮箱配置GitLab 备份数据备份数据恢复GitLab升级配置SSL证书GitLab迁移服务器安装GitLab-RunnerDocker 安装Runner使用GitLab-CIgit报错gitlab-ci高级用法配置详解解决git clone后无代码的情况问题描述为什么会这样?修复建议完整代码解决gitlab迁移后runner无法使用CI高级用法实现不同环境部署实现多个节点参考
GitLab-CE安装
选择centos7.x系统,yum安装
配置邮箱
配置
GitLab 备份
针对与yum安装用户,docker用户请直接更新镜像
数据备份
设置备份路径、权限、保留时常,防止每天执行备份,有目录被爆满的风险,打开开/etc/gitlab/gitlab.rb配置文件,找到如下配置
可以到
/var/opt/gitlab/backups
找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。备份完成,会在备份目录中生成一个当天日期的tar包。
数据恢复
特别注意:备份目录和gitlab.rb中定义的备份目录必须一致 GitLab的版本和备份文件中的版本必须一致,否则还原时会报错。 首先删除
GitLab升级
升级前一定要记得备份
配置SSL证书
进入
/ect/gitlab/ssl
放入相对应的证书,配置 /etc/gitlab/gitlab.rb
更新配置并重启
gitlab-ctl reconfigure && gitlab-ctl restart
GitLab迁移服务器
记得备份
/etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb
安装GitLab-Runner
- 最新下载地址 也可以直接选择下载 gitlab-runner(opens new window)
- 安装程序
- 向
gitlab
中注册runner
注册过程中根据提示输入如下信息:
- 输入
gitlab
的服务URL,获取方式参考下图
- 输入
gitlab-ci
的Toekn
,获取方式参考下图
- 关于集成服务中对于这个
runner
的描述
- 给这个
gitlab-runner
输入一个标记,这个tag
非常重要,在后续的使用过程中需要使用这个tag
来指定gitlab-runner
- 是否运行在没有
tag
的build
上面。在配置gitlab-ci
的时候,会有很多job
,每个job
可以通过tags
属性来选择runner
。这里为true
表示如果job
没有配置tags
,也执行
- 是否锁定
runner
到当前项目
- 选择执行器,
gitlab-runner
实现了很多执行器,可用在不同场景中运行构建,详情可见GitLab Runner Executors
,这里选用Shell
模式
IP
和令牌
从下图位置获取![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F349330ad-0499-43a1-89b1-67c42cf40a26%2FUntitled.png?table=block&id=64d77179-6b52-4a5e-985b-f0fa9257c545&cache=v2)
注册完毕后 输入命令查看
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb9e6bf3f-420f-42c4-b9a2-12c38b361170%2FUntitled.png?table=block&id=3de8fc3f-db44-47e0-a10a-73630d1cc3e3&cache=v2)
同时也可以在
GitLab
页面上查看![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8169b6ec-eefd-4026-84a7-1f57bae5f683%2FUntitled.png?table=block&id=d1e57cbc-d254-4196-8cf9-4020e61643d9&cache=v2)
Docker 安装Runner
安装
或者
注册
说明
定义个Dockerfile
使用GitLab-CI
git报错
原因是git版本太老不持之新API,需要升级一下git:
在项目的根目录,创建
CI
脚本文件,文件名:.gitlab-ci.yml
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F48c4b9c1-a176-45c4-bac9-b2fef696b36d%2FUntitled.png?table=block&id=bee8f953-87cc-402d-be25-f91e10c993ea&cache=v2)
上传
CI
脚本文件后,在GitLab上查看流水线作业![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F30f104bb-0ff6-4933-8f1f-e6e04157ea2f%2FUntitled.png?table=block&id=4183e6ec-bbe9-4199-82c0-bac6b7484126&cache=v2)
若流水线作业暂停,显示暂无可用runner
需要前往以下地方配置
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fbadb77e3-56e8-453d-a6e3-9f341b044c3b%2FUntitled.png?table=block&id=1fa4f5c3-304b-49e3-9836-e9e4fa4ab6af&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F913d9c01-c409-4867-a628-e88d0b7d8313%2FUntitled.png?table=block&id=442b1921-3a83-457b-b281-4a78b72d746c&cache=v2)
gitlab-ci高级用法
在项目路径下建立
.gitlab/ci
如图:使用前缀标识隔离环境,后缀统一是*.gitlab-ci.yml
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb110a710-46b4-433e-a04b-406ff4e261df%2FUntitled.png?table=block&id=18e4fe53-d8ab-4453-8735-a9d5500c6ba7&cache=v2)
配置详解
推荐三篇文章,这里不过多解读
解决git clone后无代码的情况
问题描述
git clone
代码后,发现没有文件为什么会这样?
因为迁移代码时,默认的
HEAD
找不到啦,需要指向一个修复建议
进入相对应的文件夹,查询所有分支
随便找一个分支(如
remotes/origin/dev
),然后敲入下面的命令git checkout remotes/origin/dev
指令意思是制定dev分支为默认的
HEAD
,然后就可以看到相对应的文件.完整代码
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc437c709-eeec-488e-9e31-e3a87c772052%2FUntitled.png?table=block&id=7dbc7982-f511-4544-9c9a-a6be61e587a6&cache=v2)
解决gitlab迁移后runner无法使用
gitlab由ip+prot 更换为域名的访问方式,runner无法正常运行
更改方案
- linux下编辑
/etc/gitlab-runner/config.toml
- 更换ip+port为域名
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdcdd9901-ea13-4464-9739-1fc2aa7ffcb6%2FUntitled.png?table=block&id=31c513bd-37bf-4660-ac51-0d5457c98dd6&cache=v2)
1. 执行
gitlab-runner restart
即重启gitlab-runner,然后到gitlab上看看状态吧!