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 请求到 HTTPS
		return 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 version
			expires 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

点击一个项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hrui0706

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值