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

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的命令中配置:sudo 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.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://your_domain_or_ip" apt-get install gitlab-ee
  • 配置防火墙以允许HTTP和SSH流量通过:
sudo ufw allow http sudo ufw allow ssh sudo ufw enable sudo ufw status
  • 启动并配置GitLab服务:
sudo 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.rb

# 默认用户名root,我这里中文和密码未生效,密码需要在后面命令中更改,有效参数为external_url
gitlab_rails['gitlab_default_language'] = 'zh-CN'
gitlab_rails['initial_root_password'] = 'Huang123'
external_url = 'http://127.0.0.1:8888'
#gitlab 监听的端口
nginx['listen_port'] = 8888

# 其他配置,启用电子邮箱
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "your-email@example.com"
gitlab_rails['smtp_password'] = "your-email-password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

# 启用用户注册
gitlab_rails['gitlab_signup_enabled'] = false

# 启用身份验证
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' on next line
  main: # 'main' is the GitLab 'provider ID' of this LDAP server
    label: 'LDAP'
    host: 'ldap.example.com'
    port: 389
    uid: 'sAMAccountName'
    method: 'plain' # "tls" or "ssl" or "plain"
    bind_dn: 'CN=admin,DC=example,DC=com'
    password: 'password'
    active_directory: true
    allow_username_or_email_login: false
    block_auto_created_users: false
    base: 'ou=users,dc=example,dc=com'
    user_filter: ''
EOS
  • 启动GitLab
# 启动服务
sudo gitlab-ctl start
# 启动并更新配置
sudo gitlab-ctl reconfigure
# 重启
sudo gitlab-ctl restart
  • 调试,更改登录密码
# 进入gitlab命令调试
sudo 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-ctl)

如:gitlab-ctl stop停止

  cleanse
    Delete *all* gitlab data, and start from scratch.
  help
    Print this help message.
  reconfigure
    Reconfigure the application.
  show-config
    Show the configuration that would be generated by reconfigure.
  uninstall
    Kill all processes and uninstall the process supervisor (data will be preserved).
Service Management Commands:
  graceful-kill
    Attempt a graceful stop, then SIGKILL the entire process group.
  hup
    Send the services a HUP.
  int
    Send the services an INT.
  kill
    Send the services a KILL.
  once
    Start the services if they are down. Do not restart them if they stop.
  restart
    Stop the services if they are running, then start them again.
  restart-except
    Restart all services except: service_name ...
  service-list
    List all the services (enabled services appear with a *.)
  start
    Start services if they are down, and restart them if they stop.
  status
    Show the status of all the services.
  stop
    Stop the services, and do not restart them.
  tail
    Watch the service logs of all enabled services.
  term
    Send the services a TERM.
  usr1
    Send the services a USR1.
  usr2
    Send the services a USR2.

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/905052.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# Retry库

比如网络访问或硬件参数设置需要重试&#xff0c;可引用gunet上的Polly库。 同步方式&#xff08;每次重试有不同的时间间隔&#xff09; var polly Policy.Handle<Exception>().WaitAndRetry(new[] { new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 2), new TimeSpan(0, …

[论文阅读] Improved Baselines with Visual Instruction Tuning

启发&#xff1a; 1、LLaVA-1.5和LLaVA以及其他大模型相比&#xff0c;做出了哪些改进&#xff1f; &#xff08;1&#xff09;使用CLIP-ViT-L-336px作为视觉编码器&#xff0c;使模型能处理336px的高分辨率图像&#xff0c;这使得模型能从图像中提取出更多细节信息。此外&am…

动态规划,就这几个问题最高频!

目录 前言 什么是动态规划 连续子数组最大和 连续子数组最大乘积 最长递增子序列 最长公共子序列 最长公共子串 不同子序列 结语 【摘要】 前言大家好&#xff0c;我是bigsai&#xff0c;好久不见&#xff0c;甚是想念(天天想念)&#xff01;很久前就有小伙伴被动态规划…

迭代加深搜索、启发式搜索、A*、IDA

目录 回顾/本期梗概 一、迭代加深搜索&#xff08;IDDFS&#xff09; 1、IDDFS基础知识 1&#xff09;什么是迭代加深搜索 2)迭代加深的基本结构 3)IDDFS和BFS比较优势是什么 4&#xff09;IDDFS中的复杂计算问题 二、A*算法 1、A*算法基础知识 1.什么是A*算法 2.A*算法的核心…

102. UE5 GAS RPG 实现范围技能奥术伤害

在上一篇文章里&#xff0c;我们在技能蓝图里实现了通过技能实现技能指示&#xff0c;再次触发按键后&#xff0c;将通过定时器触发技能效果表现&#xff0c;最多支持11个奥术个体效果的播放。 在这一篇里&#xff0c;我们将实现技能播放时&#xff0c;对目标敌人应用技能伤害。…

Android OpenGL ES详解——裁剪Scissor

目录 一、概念 二、如何使用 1、开启裁剪测试 2、关闭裁剪测试 3、指定裁剪窗口&#xff08;位置和大小&#xff09; 4、裁剪应用举例 三、窗口、视⼝和裁剪区域三者区别 四、源码下载 一、概念 定义1&#xff1a; 裁剪是OpenGL中提⾼渲染的⼀种方式&#xff0c;只刷新…

内存马浅析

之前在jianshu上写了很多博客&#xff0c;但是安全相关的最近很多都被锁了。所以准备陆陆续续转到csdn来。内存马前几年一直是个很热门的漏洞攻击手段&#xff0c;因为相对于落地的木马&#xff0c;无文件攻击的内存马隐蔽性、持久性更强&#xff0c;适用的漏洞场景也更多。 J…

华为配置 之 GVRP协议

目录 简介&#xff1a; 配置GVRP&#xff1a; 总结&#xff1a; 简介&#xff1a; GVRP&#xff08;GARP VLAN Registration Protocol&#xff09;&#xff0c;称为VLAN注册协议&#xff0c;是用来维护交换机中的VLAN动态注册信息&#xff0c;并传播该信息到其他交换机中&…

62 mysql 中 存储引擎MyISAM 中索引的使用

前言 固定数据表 mysql. tables_priv 的表结构创建如下 CREATE TABLE tables_priv (Host char(60) COLLATE utf8_bin NOT NULL DEFAULT ,Db char(64) COLLATE utf8_bin NOT NULL DEFAULT ,User char(32) COLLATE utf8_bin NOT NULL DEFAULT ,Table_name char(64) COLLATE u…

局长们,今晚0点,国考抢考点!

2025国考报名确认已于11月1日0:00开始已经报完名且通过资格审核的小伙伴们一定要及时确认&#xff01; 具体流程是什么&#xff1f;操作时需要注意哪些事项&#xff1f;看完这篇就能全部搞定~ 25国考时间轴线 ✔️报名时间:10月15日8:00至10月24日18:00 ✔️审查时间:10月1…

list ------ 是一个带头双向循环的列表

结构 insert list 没有find&#xff0c;算法库有 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<algorithm> #include<list> using namespace std; class Pos {int _row;int _col; public:Pos(int row, int col):_row(row),_col(col){c…

【已解决】【hadoop】如何解决Hive连接MySQL元数据库的依赖问题

在启动 Hive 之前&#xff0c;通常不需要手动连接到 MySQL 数据库。Hive 的配置文件 hive-site.xml 中已经包含了连接到 MySQL 元数据库所需的信息&#xff0c;包括用户名和密码。当你启动 Hive 服务时&#xff0c;Hive 会使用这些配置信息自动连接到 MySQL 数据库。 为什么还要…

react基础之redux快速上手环境准备

文章目录 核心概念配置基础环境提交action传参异步状态操作redux调试-devtools配套工具 Redux 是一个状态管理库&#xff0c;通常与 React 一起使用&#xff0c;帮助开发者管理应用的全局状态。它的核心理念是将应用的状态存储在一个单一的、不可变的状态树中&#xff0c;并通过…

YashanDB安装及使用问题和常用总结

在YashanDB的安装和使用中总会遇到一些问题&#xff0c;有些抓耳挠腮各种查&#xff0c;在此总结下遇到和群友问到的一些问题&#xff0c;和一些常用总结 一、官方文档 先附上官方文档地址&#xff0c;给迷路的小伙伴&#xff0c;官方文档整体还是比较简介易懂的 安装部署 |…

Unreal5从入门到精通之如何解决在VR项目在头显中卡顿的问题

前言 以前我们使用Unity开发VR,Unity提供了非常便利的插件和工具来做VR。但是由于Unity的渲染效果不如Unreal,现在我们改用Unreal来做VR了,所有的VR相关的配置和操作都要重新学习。 今天就来总结一下,我在开发VR过程中碰到的所有问题。 1.编辑器,以VR运行 默认运行方式…

C#与C++交互开发系列(十四):C++中STL容器与C#集合传递的形式

前言 在跨语言开发中&#xff0c;C 的 STL 容器&#xff08;如 std::vector, std::map&#xff09;和 C# 的集合类&#xff08;如 List<T>, Dictionary<TKey, TValue>&#xff09;之间的数据传递是一个常见需求。由于两者的内存布局和实现机制不同&#xff0c;直接…

docker离线安装达梦数据库

文章目录 下载达梦数据库docker镜像上传DM8镜像文件将DM8镜像导入到本地docker镜像仓库中查看本地docker镜像仓库是否存在DM8镜像带参数启动DM8docker启动DM8默认用户名/密码 下载达梦数据库docker镜像 达梦数据库官网 https://www.dameng.com/ 点击下载中心&#xff0c;选择D…

智能合约分享

智能合约练习 一、solidity初学者经典示例代码&#xff1a; 1.存储和检索数据&#xff1a; // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // 声明 Solidity 编译器版本// 定义一个名为 SimpleStorage 的合约 contract SimpleStorage {// 声明一个公共状态变量 d…

Couldn‘t apply path mapping to the remote file.

Couldn’t apply path mapping to the remote file. /s6home2/zjw524/projects/seq2seq/code/deepnmtpycharm/deepNmt/code/deepNmtPycharm/deepNmt/model/Deep_NMT_Model.py can’t be found in project. You can continue debugging, but without the source. To fix that yo…

4.2-6 使用Hadoop WebUI

文章目录 1. 查看HDFS集群状态1.1 端口号说明1.2 用主机名访问1.3 主节点状态1.4 用IP地址访问1.5 查看数据节点 2. 操作HDFS文件系统2.1 查看HDFS文件系统2.2 在HDFS上创建目录2.3 上传文件到HDFS2.4 删除HDFS文件和目录 3. 查看YARN集群状态4. 实战总结 1. 查看HDFS集群状态 …