Gitlab安装

  • 配置文件/etc/gitlab/gitlab.rb
  • 日志文件/var/log/gitlab/
  • 数据文件/var/opt/gitlab/
  • 静态文件和网页内容/opt/gitlab/embedded/service/gitlab-rails/public/

# 查看当前状态
git status

# 提交本地更改
git commit -m "更新 README 和 WsdemoApplication"

# 拉取远程分支并进行 rebase  不会发生冲突
git pull --rebase origin main

# 推送到远程仓库
git push origin main


 

gitlab-ctl stop   先停止

yum remove gitlab-ce    删除gitlab
/etc/gitlab   删   GitLab 的配置文件

/opt/gitlab  删   录包含 GitLab 的应用程序文件和依赖项

/var/opt/gitlab 删   GitLab 的数据文件和日志

重新安装   rpm -i gitlab-ce-16.11.2-ce.0.el7.x86_64.rpm    测试该版本稳定

gitlab-ctl reconfigure
 

如果原先安装过

删除gitlab    yum remove gitlab-ce 然后可以安装新的

rpm -qa | grep gitlab   检查安装的版本

rpm -e gitlab-ce-15.9.1-ce.0.el7.x86_64   卸载旧的版本  这样说明没了  不然还有

下载安装包    比较大  有1G多   清华大学开源镜像库

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm

新版本

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.11.2-ce.0.el7.x86_64.rpm

或者

 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-17.0.0-ce.0.el7.x86_64.rpm


安装必要的依赖

yum install -y curl policycoreutils-python openssh-server
 

安装 GitLab

rpm -i gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm

新版本

rpm -i gitlab-ce-16.11.2-ce.0.el7.x86_64.rpm

或者

rpm -i gitlab-ce-17.0.0-ce.0.el7.x86_64.rpm

  • 配置文件路径/etc/gitlab
  • 日志文件路径/var/log/gitlab
  • 数据文件路径/var/opt/gitlab

修改配置文件

vim /etc/gitlab/gitlab.rb

里面这些注释掉的就是它默认配置的

你可以将注释解开  或者额外写

这些配置很多就一个目的  节省资源   gitlab太费了

#禁用内部nginx
nginx['enable'] = false
#这个配置影响电子邮件通知、项目页面链接等 就是说如何可以访问到这个gitlab实例
#external_url 'http://原先的ip方式:9999'
external_url 'https://域名方式'
#设置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#监听方式
gitlab_workhorse['listen_network'] = "tcp"
#实例启动的端口
gitlab_workhorse['listen_addr'] = "127.0.0.1:8033"  git_data_dirs({"default" => {"path" => "/usr/local/gitlab/data"  # 这里是默认数据储存路径,路径全部可以自定义},"alternative" => {"path" => "/usr/local/gitlab/data/backup"  # 这里是备用数据储存路径,为避免磁盘损坏,丢失编码}
})
# Puma配置
puma['worker_processes'] = 2  # 工作节点数# Sidekiq配置   该配置17.0.0版本被移除
sidekiq['max_concurrency'] = 8  # 最大并发数# PostgreSQL配置
postgresql['shared_buffers'] = "128MB"  # 缓存大小
postgresql['max_worker_processes'] = 4  # 进程数量redis['enable'] = true
redis['bind'] = '127.0.0.1'  # 绑定到本地IP
redis['port'] = 6378  # 设置内置reids的端口  # 禁用Prometheus监控
prometheus_monitoring['enable'] = false# 禁用Grafana
grafana['enable'] = false# 禁用Mattermost
mattermost['enable'] = false# 禁用GitLab Pages
# 确保注释或删除以下行
# pages_external_url 'http://pages.example.com'   gitlb可以配置静态页面生成器
gitlab_pages['enable'] = false# 配置Gmail作为SMTP服务器(用于发送邮件)
gitlab_rails['smtp_enable'] = true
#gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "xxxxxx@qq.com"
gitlab_rails['smtp_password'] = "xxxxxxxxxx"  # 使用生成的应用专用密码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['gitlab_email_from'] = 'xxxxxxxx@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'Hellojava.org'# 配置Gmail作为IMAP服务器(用于接收邮件)
gitlab_rails['incoming_email_enabled'] = true
gitlab_rails['incoming_email_address'] = "qq号+%{key}@qq.com"  # 使用Gmail的子地址功能
gitlab_rails['incoming_email_email'] = "xxxxxxxx@qq.com"
gitlab_rails['incoming_email_password'] = "xxxxxx"  # 使用生成的应用专用密码
gitlab_rails['incoming_email_host'] = "imap.qq.com"
gitlab_rails['incoming_email_port'] = 993
gitlab_rails['incoming_email_ssl'] = true
gitlab_rails['incoming_email_start_tls'] = false
gitlab_rails['incoming_email_mailbox_name'] = "inbox"
gitlab_rails['incoming_email_idle_timeout'] = 60
gitlab_rails['incoming_email_expunge_deleted'] = true

 sudo gitlab-rake gitlab:incoming_email:check      验证邮箱配置

保存之后初始化    这个需要点时间    完成之后  gitlab已经启动了

gitlab-ctl reconfigure     第一次是配置完自动启动   

第二次配置的话  修改完配置文件       然后   gitlab-ctl reconfigure   就可以了 

libarchive 是一个多功能的库,用于读取和写入压缩归档文件。它支持多种归档格式和压缩方法,如 tar、cpio、zip、7-zip、xar、ISO 和更多。libarchive 被广泛用于备份、恢复、文件传输等任务。

安装下

yum install libarchive

 

重新配置

重启下

gitlab-ctl restart
 

查看密码

cat  /etc/gitlab/initial_root_password


gitlab-ctl restart     #重启 GitLab 的所有服务。它先停止所有服务,然后重新启动它们。

其他命令

gitlab-ctl stop         # 关闭所有服务
gitlab-ctl restart      # 重启所有服务
gitlab-ctl status       # 查看所有服务状态
gitlab-ctl help         # 帮助
gitlab-ctl reconfigure  # 修改配置文件之后,需要重新加载下
gitlab-ctl show-config  # 查看所有服务配置文件信息
gitlab-ctl tail         # 查看日志
 

外部nginx配置

    #原先ip方式	#server {# listen       9999;  # client_max_body_size 0; # server_name  服务器ip;# server_tokens off;#access_log  /var/log/nginx/gitlab_access.log;#error_log   /var/log/nginx/gitlab_error.log;# location / {#      root  html;#      index index.html index.htm;#      proxy_pass http://127.0.0.1:8033; #这里与前面设置过的端口一致#      proxy_read_timeout      3600;#      proxy_connect_timeout   300;#      proxy_redirect          off;#     proxy_http_version 1.1;#      proxy_set_header Host $http_host;#      proxy_set_header X-Real-IP $remote_addr;#      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#      proxy_set_header X-Forwarded-Proto http;# }#	 location ~ ^/(assets)/ {#		root /opt/gitlab/embedded/service/gitlab-rails/public;#		gzip_static on; # Serve pre-gzipped version#		expires max;#		add_header Cache-Control public;#	 }#}	server {listen 80;server_name 域名;# 重定向所有 HTTP 请求到 HTTPSreturn 301 https://$host$request_uri;}server {listen 443 ssl;server_name 域名;ssl_certificate 域名公钥地址;ssl_certificate_key 域名私钥地址m;access_log  /var/log/nginx/gitlab_access.log;#注意创建文件error_log   /var/log/nginx/gitlab_error.log;location / {proxy_pass http://127.0.0.1:8033;proxy_http_version 1.1;proxy_set_header X-Forwarded-Proto https;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;}location /assets/ {root /opt/gitlab/embedded/service/gitlab-rails/public;gzip_static on; # Serve pre-gzipped versionexpires max;add_header Cache-Control public;}}#用于域名 ssl验证#server {#	listen 80;#	server_name 域名;#	location / {#		root 访问地址; # 您的 webroot 路径#	}#	# 其他 location / 配置,用于正常的网站内容#}

修改密码

往下拉  最下面

保存之后去修改密码

设置完成之后  会自动跳到重新登录

然后退出   重进  就看不到 那个提示了

设置SSH密钥

在本地配置 Git 的用户名和邮箱时,用户名和邮箱地址可以随意设置,并不需要与 GitLab 上的一致。不过,建议使用与 GitLab 上一致的用户名和邮箱地址,这样可以更方便地进行管理和识别

# 1. 配置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your@example.com"

# 2. 生成 SSH 密钥
ssh-keygen -t rsa -C "your@example.com"

# 3. 查看生成的公钥内容
cat ~/.ssh/id_rsa.pub

# 4. 将公钥添加到 GitLab 的 SSH Keys 设置中

# 5. 设置 Git 的 push 默认模式  
git config --global push.default simple
 

复制文件里的内容

如果设置了到期时间  则到期失效   不设置  则永久

添加密钥

关于群组

新建群组

即使自己搭建的  选择公开也会被没有登录的人员获取代码

比如你创建了一个test群组  选择公开   test群组里有个demo项目 

那么别人就可以通过     http或者https://域名/群组/项目名访问       无须登录

新建项目

提交项目

# 进入项目内
# 将当前工作目录切换到你的项目目录。请将 /xx/project 替换为你的实际项目路径。
cd /xx/project

# 初始化
# 初始化一个新的 Git 仓库。如果该目录已经是一个 Git 仓库,这条命令不会有任何效果。

#项目下会创建.git文件
git init

# 若init后是master分支,修改本地分支名称
# 如果初始化后默认分支名称是 master,重命名为 main。
# 这种做法是因为现在许多项目使用 main 作为默认分支名称,而不是 master。
git branch -m master main

# 添加代码到缓存区
# 将当前目录下的所有文件添加到 Git 的暂存区,准备进行提交。
# git add . 表示添加当前目录及其子目录中的所有文件。
git add .

# 和远程仓库建立连接
# 将本地仓库与远程仓库连接起来,origin 是远程仓库的默认名称。
# 替换为你的实际远程仓库 URL。    SSH也是可以的
git remote add origin http://121.40.45.228:8859/gitlab-instance-c82aafb6/k8s-cicd-demo.git

# 确认本地分支名称为 main。如果已经是 main,这条命令没有影响。
git branch -M main

# 提交更改到本地仓库,其中 'xx' 是提交信息,
# 通常应替换为描述你所做更改的实际信息。
git commit -m 'xx'

# 推送代码
# 从远程仓库 origin 的 main 分支拉取最新的代码并进行变基操作。
# 这有助于保持本地提交记录的整洁。
git pull --rebase origin main

# 将本地的 main 分支强制推送到远程仓库的 main 分支。
# -u 选项会设置本地分支与远程分支的跟踪关系,
# -f 选项表示强制推送,可能会覆盖远程分支上的更改,使用时需谨慎。
git push -uf origin main
 

git pull --rebase origin main   拉取远程main分支的代码   第一次要求输入账密 

最后推送     

git push -uf origin main

有些文件不想上传

不过git上的没排除.......  可以点进去手动删除

拉取项目

git clone git地址

添加账户

点击连接

管理员可以编辑

新创建的用户登录是这样的

给新用户拉项目  用root

点击一个项目

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过Wirtinger流进行相位恢复:理论与算法

文章目录 1. 简介2. 算法描述2.1 初始化(Initialization)2.2 迭代更新(Iterative Updates)2.3 学习率调整(Learning Rate Adjustment) 3. 代码实现3.1 一维信号测试 (Gaussian model)3.2 一维信号测试 (Coded diffract…

【C++】牛客——BC157 素数回文

✨题目链接: BC157 素数回文 ✨题目描述 现在给出一个素数,这个素数满足两点: 只由1-9组成,并且每个数只出现一次,如13,23,1289。 位数从高到低为递减或递增,如2459,87631。 请你判断一下&…

从零开始搭建Springboot项目脚手架4:保存操作日志

目的:通过AOP切面,统一记录接口的访问日志 1、加maven依赖 2、 增加日志类RequestLog 3、 配置AOP切面,把请求前的request、返回的response一起记录 package com.template.common.config;import cn.hutool.core.util.ArrayUtil; import cn.hu…

最新文章合集

GitHub宝藏项目:每天一个,让你的技术库增值不停! STORM、SuperMemory、Awesome Chinese LLM、AI写作助手、资料搜集、文章生成、视角问题引导、模拟对话策略、内容导入、浏览器插件、资源库、开源微调模型 开发者必看:Linux终端…

Vue 3指令与事件处理

title: Vue 3指令与事件处理 date: 2024/5/25 18:53:37 updated: 2024/5/25 18:53:37 categories: 前端开发 tags: Vue3基础指令详解事件处理高级事件实战案例最佳实践性能优化 第1章 Vue 3基础 1.1 Vue 3简介 Vue 3 是一个由尤雨溪(尤大)领导的开源…

方言和大语言模型

方言多样性及其对语言模型的影响 语言的演变是不可避免的,反映并推动了重大的社会变革和传统。语言接触往往会推动我们说话方式的创新,在美国全球文化的影响下,一种新的叙事正在其语言织锦中展开。 例如,在佛罗里达州南部&#…

Qt 在windows下显示中文

Qt在windows平台上显示中文,简直是一门玄学,经过测试,有如下发现: 1, 环境:Qt 5.15.2 vs2019 64位 win11系统 默认用Qt 创建的文件使用utf-8编码格式,此环境下 中文没有问题 ui->textE…

Nginx实现负载均衡与故障检查自动切换

创作灵感来源于个人项目的一个稳定性规划,单节点的项目稳定性方面可能有很大的缺漏,因此需要升级为多节点,保证服务故障后,依然有其他服务可用,不会给前端用户造成影响。 (前面讲选型,想直接看…

IPv6 地址创建 EUI-64 格式接口 ID 的过程

IPv6 接口标识符 IPv6 地址中的接口标识符(ID)用于识别链路上的唯一接口,有时被称为 IPv6 地址的 “主机部分”。接口 ID 在链路上必须是唯一的,始终为 64 位长,并且可以根据数据链路层地址动态创建。 MAC 地址 中的…

Jenkins安装 :Aws EC2下Docker镜像安装

1 安装docker # 安装docker $ sudo yum install -y docker# 启动docker daemon $ sudo systemctl start docker# 用户加入docker组 $ sudo usermod -aG docker username 2 docker安装jenkins $ docker pull jenkins/jenkins:lts# 安装成功 $ docker images REPOSITORY …

逻辑这回事(一)----编码规范

说明:优先级是M的规则为强制项,优先级为R的规则为建议项。 通用约束 应有全局观念。 优先级:M 说明:你所编写的代码在成为最终硅片上的一部分之前,需要经过许多设计者利用各种各样的工具进行各种各样的处理。有时&…

解决vue3项目vite打包忽略.vue扩展名

项目打包时报could not relolve “...”,因为vite已不再默认忽略.vue扩展名。 解决方法如下: 在vite.config.js中配置vite使其忽略 .vue 扩展名(不建议忽略) 注意:即使忽略了.vue文件,在实际写的时候也要加…

达梦8 RLOG_COMPRESS_LEVEL参数对系统的影响

测试环境是一套主备达梦数据库。下面在主备库分别设置参数进行测试 测试一、 主库设置RLOG_COMPRESS_LEVEL9&#xff0c;备库设置为0。 分别删除主备库的归档日志后执行测试脚本 #当前时间 date disql SYSDBA/SYSDBA:1807 <<EOF #显示归档大小 select sum(free)/1024…

【独家揭秘!玩转ChatGPT?一文带你解锁秘籍!】

&#x1f680;【独家揭秘&#xff01;玩转ChatGPT&#xff1f;一文带你解锁秘籍&#xff01;】&#x1f680; &#x1f449; 【直达ChatGPT体验站】 ChatGPT&#xff0c;全称“Chat Generative Pre-trained Transformer”&#xff0c;是人工智能研究实验室OpenAI于2022年底推出…

HTTP 错误 404.15 - Not Found 请求筛选模块被配置为拒绝包含的查询字符串过长的请求。...

在做MVC站点时(使用IIS版本为7.5)&#xff0c;使用Get请求&#xff0c;当Url里查询字符串过长时&#xff0c;会出现如下错误&#xff1a; 出现该错误的原因为&#xff1a;IIS7.5对于Query String有长度限制&#xff0c;默认为2048。 按照图中可尝试的操作提示&#xff0c;可以…

Redis(1)-Jedis连接配置

问题 阿里云安装并启用Redis后&#xff0c;尝试在本地用Jedis调用&#xff0c;发现报错 public class Jedis01 {Testpublic void connect(){Jedis jedis new Jedis("101.37.31.211", 6379); // 公网ipjedis.auth("123"); // 密码String ping jedis.pin…

MySQL中的sql语句

MySQL中的sql语句 DML、 DDL、 DCL DML(Data Manipulation Language)&#xff0c;用于对数据库中的数据进行操作&#xff0c;包括插入、查询、更新和删除数据等操作。常见的 DML 命令包括 SELECT&#xff08;查询&#xff09;、INSERT&#xff08;插入&#xff09;、UPDATE&a…

stm32H743不要将主频设置到480MHz

0 问题描述 本文使用的stm32H743是V版本&#xff0c;支持最高480MHz的主频。但在将主频设置为480MHz之后&#xff0c;使用FDCAN的回环模式出现了各种接收不到的异常问题。经过一番排查&#xff0c;将主频修改到400MHz&#xff0c;同时降低芯片内部LDO输出电压后恢复了正常。 …

“定融”爆大雷,害苦有钱人

据《大猫财经》Pro(ID:caimao_shuangquan)报道&#xff0c;中植系的恒天财富有5名理财顾问被抓了。其实因为涉及刑事犯罪&#xff0c;中植系不少高管之前已经进去了&#xff0c;现在进去的这几个&#xff0c;是追赃过程中遇到的不配合的那些人。 这个消息是从“恒天财富”内部…

基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告+讲解视频)

基于51单片机的火灾检测设计 基于51单片机的火灾检测设计&#xff08;仿真程序原理图论文报告&#xff09;功能要求仿真图&#xff1a;原理图&#xff1a;源程序&#xff1a;论文/报告&#xff1a;资料清单&#xff1a; 基于51单片机的火灾检测设计&#xff08;仿真程序原理图论…