GitLab代码仓管理安装配置使用

ops/2024/10/31 13:05:52/

Gitlab介绍

GitLab是一个基于Git的开源项目管理工具,它集成了版本控制、代码审查、持续集成(CI)/持续部署(CD)、自动化测试等多种功能,是一个完整的DevOps平台。以下是对GitLab的详细介绍:

一、主要特点和功能

  1. 版本控制系统:GitLab的核心是基于Git的版本控制系统,支持代码的版本管理、分支管理、合并操作等。
  2. 代码审查:提供代码审查功能,帮助团队提高代码质量,确保代码符合项目标准。
  3. 持续集成/持续部署(CI/CD):通过内置的CI/CD工具,实现自动化构建、测试和部署,提高开发效率和产品质量。
  4. 问题跟踪:内置的问题跟踪系统,帮助团队管理和跟踪项目中的问题和任务。
  5. Wiki:提供项目相关的文档管理功能,方便团队成员共享知识和信息。
  6. 安全性:提供多种安全功能,如分支权限、合并请求审批流程等,保护代码的安全和项目的稳定。
  7. 可视化界面:提供一个直观易用的图形用户界面,使得项目管理更加便捷。

使用概况

以下我配置访问端口为8888,所有浏览器:http://127.0.0.1:8888访问

网站登录管理的用户名和密码进入gitlab>gitlab的命令中配置:sudo gitlab>gitlab-rails console

配置可以正常登录后,就都是在浏览器里面操作了

在Ubuntu上配置和使用GitLab,你可以按照以下步骤进行操作:

  • 更新系统软件包列表:
sudo apt-get update
  • 安装必要的依赖项:
sudo apt-get install -y ca-certificates curl openssh-server
  • 添加GitLab的APT仓库并安装GitLab包:
curl https://packages.gitlab>gitlab.com/install/repositories/gitlab>gitlab/gitlab>gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://your_domain_or_ip" apt-get install gitlab>gitlab-ee
  • 配置防火墙以允许HTTP和SSH流量通过:
sudo ufw allow http sudo ufw allow ssh sudo ufw enable sudo ufw status
  • 启动并配置GitLab服务:
sudo gitlab>gitlab-ctl reconfigure

安装后使用 

  1. 访问GitLab Web界面: 在浏览器中输入http://your_domain_or_ip,你应该能够看到GitLab的登录页面。使用默认的管理员账号(用户名:root,密码:5iveL!fe)登录。
  2. 更改默认管理员密码: 登录后,导航到"Admin Area" -> "Sign-in as root",然后点击"Reset the admin password"链接来设置新密码。
  3. 配置GitLab
sudo nano /etc/gitlab>gitlab/gitlab>gitlab.rb# 默认用户名root,我这里中文和密码未生效,密码需要在后面命令中更改,有效参数为external_url
gitlab>gitlab_rails['gitlab>gitlab_default_language'] = 'zh-CN'
gitlab>gitlab_rails['initial_root_password'] = 'Huang123'
external_url = 'http://127.0.0.1:8888'
#gitlab>gitlab 监听的端口
nginx['listen_port'] = 8888# 其他配置,启用电子邮箱
gitlab>gitlab_rails['gitlab>gitlab_email_enabled'] = true
gitlab>gitlab_rails['smtp_enable'] = true
gitlab>gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab>gitlab_rails['smtp_port'] = 465
gitlab>gitlab_rails['smtp_user_name'] = "your-email@example.com"
gitlab>gitlab_rails['smtp_password'] = "your-email-password"
gitlab>gitlab_rails['smtp_domain'] = "example.com"
gitlab>gitlab_rails['smtp_authentication'] = "login"
gitlab>gitlab_rails['smtp_enable_starttls_auto'] = true# 启用用户注册
gitlab>gitlab_rails['gitlab>gitlab_signup_enabled'] = false# 启用身份验证
gitlab>gitlab_rails['ldap_enabled'] = true
gitlab>gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' on next linemain: # 'main' is the GitLab 'provider ID' of this LDAP serverlabel: 'LDAP'host: 'ldap.example.com'port: 389uid: 'sAMAccountName'method: 'plain' # "tls" or "ssl" or "plain"bind_dn: 'CN=admin,DC=example,DC=com'password: 'password'active_directory: trueallow_username_or_email_login: falseblock_auto_created_users: falsebase: 'ou=users,dc=example,dc=com'user_filter: ''
EOS
  • 启动GitLab
# 启动服务
sudo gitlab>gitlab-ctl start
# 启动并更新配置
sudo gitlab>gitlab-ctl reconfigure
# 重启
sudo gitlab>gitlab-ctl restart
  • 调试,更改登录密码
# 进入gitlab>gitlab命令调试
sudo gitlab>gitlab-rails console
# 查看用户名和密码
User.all.each do |user|puts "Username: #{user.username}, Password: #{user.password}"
end
# 更改密码,使用邮箱或用户名登录,更改密码时不能太简单,复制可能出现错误
user = User.find_by(email: 'admin@example.com')  
user = User.find_by(username: 'your_username')
user.password = 'newpassword'  
user.password_confirmation = 'newpassword'  
user.save!
  • 更改语言为简体中文

  • 常用命令(gitlab>gitlab-ctl)

如:gitlab>gitlab-ctl stop停止

  cleanseDelete *all* gitlab>gitlab data, and start from scratch.helpPrint this help message.reconfigureReconfigure the application.show-configShow the configuration that would be generated by reconfigure.uninstallKill all processes and uninstall the process supervisor (data will be preserved).
Service Management Commands:graceful-killAttempt a graceful stop, then SIGKILL the entire process group.hupSend the services a HUP.intSend the services an INT.killSend the services a KILL.onceStart the services if they are down. Do not restart them if they stop.restartStop the services if they are running, then start them again.restart-exceptRestart all services except: service_name ...service-listList all the services (enabled services appear with a *.)startStart services if they are down, and restart them if they stop.statusShow the status of all the services.stopStop the services, and do not restart them.tailWatch the service logs of all enabled services.termSend the services a TERM.usr1Send the services a USR1.usr2Send the services a USR2.

Gitlab相关的四种工具:Jenkins、SVN、BitBucket、Git、gitea(轻量级全功能)

除了BitBucket其他都用过,我搜Git的使用教程附加在后面。

gitea可以配置提交代码后通过webhook自动触发Jenkins构建版本


http://www.ppmy.cn/ops/129871.html

相关文章

理解内存的高低地址和整数、浮点数的高低位

理解内存的高低地址和整数、浮点数的高低位是学习内存布局和数据存储的重要基础。 1. 内存的高低地址 内存地址是指在内存中访问数据的位置&#xff0c;以字节为单位。在32位系统中&#xff0c;地址范围是0到2^32-1&#xff0c;而在64位系统中则更大。 低地址&#xff1a;更…

深度学习-梯度消失/爆炸产生的原因、解决方法

在深度学习模型中&#xff0c;梯度消失和梯度爆炸现象是限制深层神经网络有效训练的主要问题之一&#xff0c;这两个现象从本质上来说是由链式求导过程中梯度的缩小或增大引起的。特别是在深层网络中&#xff0c;若初始梯度在反向传播过程中逐层被放大或缩小&#xff0c;最后导…

RNN在训练中存在的问题

RNN在训练中存在的问题 递归神经网络&#xff08;RNN&#xff09;是处理序列数据&#xff08;如语言或时间序列&#xff09;的强大工具&#xff0c;因其能在处理时维持内部状态&#xff08;或记忆&#xff09;&#xff0c;从而理解输入数据的时间动态。然而&#xff0c;尽管RN…

【STM32+HAL】STM32CubeMX学习目录

一、基础配置篇 【STM32HAL】微秒级延时函数汇总-CSDN博客 【STM32HAL】CUBEMX初始化配置 【STM32HAL】定时器功能小记-CSDN博客 【STM32HAL】PWM呼吸灯实现 【STM32HAL】DACDMA输出波形实现-CSDN博客 【STM32HAL】ADCDMA采集(单通道多通道)-CSDN博客 【STM32HAL】三重A…

MFC界面开发组件Xtreme Toolkit Pro v24全新发布—完整的SVG支持

Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库&#xff0c;是MFC开发中最全面界面控件套包&#xff0c;它提供了Windows开发所需要的11种主流的Visual C MFC控件&#xff0c;包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Repo…

基础知识-因果分析-daytwo-2 概率及其计算

Xx同时Yy的概率可以表达为P(Xx,Yy)或者缩写为P(x,y)。 事件B已经发生的情况下事件A发生的概率&#xff0c;称为给定B条件下A的条件概率。给定Yy条件下Xx的条件概率&#xff0c;表示为P(Xx|Yy)。和无条件概率类似&#xff0c;这个表达式也可以缩写为P(x|y)。 Xx在给定Yy条件下…

蓝桥杯py组入门(bfs广搜)

7. 走迷宫 7.走迷宫 - 蓝桥云课 题目描述 给定一个 NM 的网格迷宫 G。G 的每个格子要么是道路&#xff0c;要么是障碍物&#xff08;道路用 1 表示&#xff0c;障碍物用 0 表示&#xff09;。 已知迷宫的入口位置为 (x1​,y1​)&#xff0c;出口位置为 (x2​,y2​)。问从入…

相机硬触发

PLC 接线图 通过使用PNP光电感应器 实现相机的硬触发 流程&#xff1a;触发相机拍照 然后相机控制光源触发 完成线路连接后 使用MVS 配置相机硬触发参数 通过 pnp传感器控制 硬触发拍照 检测 在2开项目中 不用在点击执行流程 通过PNP传感器就能触发 扩展&#xff1a;