NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

    • CentOS7 -bash:vim:未找到命令
    • CentOS系统中升级Git版本
    • Linux 下 Git 免登录不需重复输入账号和密码
    • Linux 下安装 Nginx 详细教程
    • Linux 中 mysql 数据库的备份与还原
    • Linux 使用 npm 安装 cnpm 镜像
    • Linux 安装 mysql 并设置远程连接
    • linux 环境安装 java 环境和 eclipse
    • Linux 系统命令总结
    • linux安装nvm并快速修改node版本
    • Linux防火墙配置相关笔记
    • Linux(centos7)上安装 Node.js 的 4 种方法(包含npm)
    • Linux(centos7)下 pm2 的安装步骤及问题总结
    • Linux(centos7)下查看端口占用情況
    • 【Linux-编译器gcc|glibc升级】CentOS7.x使用高版本NodeJS时报错解决方案
    • 如何在Linux系统(CentOS7.x)上安装Git
    • CentOS 7安装 FFmpeg音频视频处理工具
    • centos7 下通过docker安装sentry
    • CentOS7安装Gitea
    • CentOS7下安装GraphicsMagick或ImageMagick方法
    • Centos安装MySQL
    • Linux-客户端npc内网穿透开机后台自启动
    • linux(contOS_7)下安装git
    • 两台远程Linux服务器之间传输文件的四种方法(scp、rcp、wget、rsync)总结
    • Ubuntu20.x使用root账户远程登录ssh处理方法
    • Ubuntu 更换 apt 源为阿里云镜像源
    • linux 下 CentOS7 安装 LibreOffice 详细过程
    • linux 下 Ubuntu 安装 LibreOffice 方法
    • Linux 下安装 pm2 并设置开机自启动服务
    • Linux 服务器之 systemctl 命令使用详解
    • 在 linux下的 CentOS7 安装 Onlyoffice 详细步骤
    • Linux 下 Gitlab 相关配置记录
      • 修改默认端口
      • IP地址设置(显示http地址)
      • 解决头像不显示
      • 配置163邮箱
      • CI/CD自动部署
        • 开启Page -> 8806
      • gitlab-ctl 命令
      • 遇到的问题
    • Linux(Ubuntu)下安装最新版 ffmpeg7
    • Linux (Ubuntu 24.04) 切换软件源为清华源
    • Linux 之 Ubuntu-24.04 安装英伟达显卡驱动
    • Ubuntu 上安装 【docker】 的详细指南
    • Ubuntu 安装 Anaconda 【conda】换源并配置 Python 环境
    • Linux(Ubuntu)安装 open-webui 最新方式汇总
    • linux 安装 ollama 基本步骤
    • Linux 使用 rsync 互相传输同步文件的简单步骤
  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

  • 其他文档

  • 前端开发
  • Linux文档
NoteZ
2024-05-29
目录

Linux 下 Gitlab 相关配置记录

# 修改默认端口

1、修改/etc/gitlab/gitlab.rb文件,如果有如下参数直接修改,如果没有就新增

nginx['listen_port'] = 8088
1

2、修改默认的gitlab nginx的web服务80端 /var/opt/gitlab/nginx/conf/gitlab-http.conf

server { ## HTTPS server
  listen *:8088;
}
1
2
3

3、初始化并重启组件:

gitlab-ctl reconfigure
gitlab-ctl restart
1
2

注意

注意:如果修改完gitlab-http.conf再运行gitlab-ctl reconfigure,就会被还原,修改并不会被覆盖。

# IP地址设置(显示http地址)

1、修改gitlab.yml文件

找到gitlab.yml文件中的host值为实际的域名或服务器IP地址即可(不建议直接修改gitlab.yml文件。 因为一旦被人执行 gitlab-ctl reconfigure, 会被覆盖。)

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
1

2、修改gitlab.rb文件 找到external_url替换成对应 IP 即可

vim /etc/gitlab/gitlab.rb
1

3.修改好之后保存

执行命令:wq保存

4.重启

执行gitlab-ctl restart重启

# 解决头像不显示

vim /etc/gitlab/gitlab.rb
1

在gitlab.rb中找到如下两行关于Gravatar Settings的配置

# gitlab_rails['gravatar_plain_url'] = 'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
# gitlab_rails['gravatar_ssl_url'] = 'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon'
1
2

替换成

gitlab_rails['gravatar_plain_url'] = 'http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon'
gitlab_rails['gravatar_ssl_url'] = 'http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon'
1
2

重新生成配置文件并重新加载

gitlab-ctl reconfigure
gitlab-ctl restart
# 查看gitlab启动状态
ps aux|grep gitlab
1
2
3
4

# 配置163邮箱

打开配置文件

vim /etc/gitlab/gitlab.rb
1

找到以下配置并编辑

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 25 # 网易端口为25
gitlab_rails['smtp_user_name'] = "xxxxxx@qq.com"
gitlab_rails['smtp_password'] = "xxxxxxxxxx" # POP3/SMTP/IMAP服务授权密码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_display_name'] = 'xxxxxxx'  # 显示名字
gitlab_rails['gitlab_email_from'] = "xxxxxx@qq.com" # 发件邮箱
user["git_user_email"] = "xxxxxx@qq.com"

# 以下配置信息为访问配置
external_url 'gitlab.xxxxx.cn' # 真实IP或域名,无须添加端口号
gitlab_rails['host'] = 'localhost' # 真实IP或域名
gitlab_rails['port'] = 8080 # 映射80端口的主机(宿主)端口
gitlab_rails['gitlab_ssh_host'] = 'localhost' # 真实IP或域名
gitlab_rails['gitlab_shell_ssh_host'] = 8082 # 映射22端口的主机(宿主)端口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

使之生效

gitlab-ctl reconfigure
gitlab-ctl restart
1
2

测试

gitlab-rails console
irb(main):003:0> Notify.test_email('destination_email@address.com', 'Message Subject', 'Message Body').deliver_now
1
2

# CI/CD自动部署

# 开启Page -> 8806

1、开启GitLab Pages功能

修改 gitlab.rb 的配置文件

vim /etc/gitlab/gitlab.rb
1

gitlab pages 的域名我们假设为 http://R7102/ 你也可以根据自己的喜好来填,切记不能是 IP 地址!

##! Define to enable GitLab Pages
pages_external_url "http://R7102/"
gitlab_pages['enable'] = true
1
2
3

保存后,执行以下命令

# 刷新配置
gitlab-ctl reconfigure
# 重启 gitlab
gitlab-ctl restart
1
2
3
4

然后我们需要先启动 gitlab-runner 服务

gitlab-runner start
1

启动成功后我们就需要开始注册 runner 了,具体执行命令可通过下图步骤获得,需要注意的是登录的账号必须为管理者账号,否则看不到那个“设置”按钮

2、安装配置GitLab Runner 下载地址:https://packages.gitlab.com/runner/gitlab-runner (opens new window) ,或者下载并安装二进制文件:

# Download the binary for your system
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

# Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner

# Create a GitLab Runner user
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

# Install and run as a service (建议将--user=gitlab-runner改为--user=root)
# sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner install --user=root --working-directory=/home/gitlab-runner
sudo gitlab-runner start
1
2
3
4
5
6
7
8
9
10
11
12
13

注册runner的命令

# sudo gitlab-runner register --url http://gitlab.zhenglinglu.cn/ --registration-token KA4rsovXhGamZ1yCAZQK
sudo gitlab-runner register
1
2

彻底卸载 gitlab-runner

sudo gitlab-runner uninstall
sudo rm -rf /usr/local/bin/gitlab-runner
sudo userdel gitlab-runner
sudo rm -rf /home/gitlab-runner/
sudo rm -rf /etc/systemd/system/gitlab-runner.service
1
2
3
4
5

修改 gitlab-runner 权限

# 先卸载gitlab-runner
gitlab-runner uninstall

# 然后再重新安装,并且设置用户为root。
gitlab-runner install --user=root --working-directory=/home/gitlab-runner

# 重启gitlab-runner 
sudo service gitlab-runner restart  # gitlab-runner start

# 查看当前启动的用户角色
ps aux|grep gitlab-runner

# 可以把主目录的文件权限也改成root。
chown -R root:root gitlab-runner/

# 参考地址:https://blog.csdn.net/qq_39940674/article/details/127616784
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

gitlab-runner 常用命令

gitlab-runner stop #停止服务
gitlab-runner start #启动服务
gitlab-runner restart #重启服务

gitlab-runner list #查看各个 Runner 的状态
gitlab-runner verify    #此命令检查注册的runner是否可以连接,但不验证GitLab服务是否正在使用runner。 --delete 删除
gitlab-runner register  #默认交互模式下使用,非交互模式添加 --non-interactive
gitlab-runner unregister   #该命令使用GitLab取消已注册的runner。
gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n #使用令牌注销
gitlab-runner unregister --name test-runner #使用名称注销(同名删除第一个)
gitlab-runner unregister --all-runners #注销所有
1
2
3
4
5
6
7
8
9
10
11

# gitlab-ctl 命令

gitlab-ctl start    #启动
gitlab-ctl stop     #停止
gitlab-ctl status   #状态
gitlab-ctl restart  #重启

gitlab-ctl tail     #查看实时log
gitlab-ctl tail gitlab-rails # 拉取/var/log/gitlab下子目录的日志
gitlab-ctl tail nginx/gitlab_error.log # 拉取某个指定的日志文件

netstat -tnlp | grep  # 查看被占用端口

ps aux|grep gitlab-runner # 查看当前启动的用户角色
1
2
3
4
5
6
7
8
9
10
11
12

# 遇到的问题

1、Gitlab CI Failed: NPM command not foundGitlab CI 失败:未找到 NPM 命令,解决方案如下:

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
1

2、gitlab-runner报错:fatal: git fetch-pack: expected shallow listfatal: The remote end hung up unexpecte(centos快速使用yum更新git)

#卸载旧版本
yum remove git -y

#下载rpm包(centos 7)  
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm

#安装
yum install git

#更新下git
yum update git

#查看版本
git --version
1
2
3
4
5
6
7
8
9
10
11
12
13
14

3、Linux:sudo,没有找到有效的 sudoers 资源 首先,这是因为用户的权限不够导致的。使用 ls -l /etc/passwd 查看所有用户及权限。只有可读权限(r),说明用户的权限不够。

因此,我们可以用以下方法修改用户权限:

su root   #进入超级用户

ll /etc/sudoers   #查看/etc/sudoers的权限

chmod 777 /etc/sudoers   #修改/etc/sudoers文件的权限成可读可写可执行

echo 'username  ALL=(ALL)    ALL' >> /etc/sudoers   #  'username'指用户名,给指定用户名权限

chmod 440 /etc/sudoers   #退出保存/etc/sudoers文件

su username  #切换用户到指定用户
1
2
3
4
5
6
7
8
9
10
11

最后,在执行安装或下载等各种命令时,使用 sudo 加指令就行了。

提示:sudo: gitlab-runner:找不到命令

# 修改/etc/sudoers文件;找到这一行
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin  
# 将要执行的命令所在的目录添加到后面,即可
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin 
# 验证安装信息
gitlab-runner -v
1
2
3
4
5
6
#CentOS7#Linux#Gitea
上次更新: 2024/05/29, 17:27:32
在 linux下的 CentOS7 安装 Onlyoffice 详细步骤
Linux(Ubuntu)下安装最新版 ffmpeg7

← 在 linux下的 CentOS7 安装 Onlyoffice 详细步骤 Linux(Ubuntu)下安装最新版 ffmpeg7→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式