GitLab代码仓库

220 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。  

作者按: 为了开发者能够随时随地开发,且方便管理,代码仓库的这个应用就产生了,今天就来研究一番其中私有化代码库里比较流行的gitlab。

1、关于gitlab

至于git、github、gitlab的区别,在我另一篇文章中有写,可以看一下。今天就来说说gitlab相关知识,它是一个可以私有化部署的Git项目仓库,通过web页面访问或者管理公开或者私有的项目。

 

2、安装

环境:centos

要求:内存至少2G以上,确实比较占内存,内存尽量大为好

(1)上官网或者各大镜像网站下载gitlab-ce的rpm包

官方仓库:packages.gitlab.com/gitlab/gitl…

(2)wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm/download.rpm

将这个rpm包下载到本地,直接安装即可

yum install -y gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm

3)或者下载安装仓库源curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

(4)或手动配置清华源或其他仓库源

[gitlab-ce]

name=gitlab-ce

baseurl=mirrors.tuna.tsinghua.edu.cn/gitlab-ce/y…

Repo_gpgcheck=0

Enabled=1

Gpgkey=packages.gitlab.com/gpg.key

(5)刷新cache

yum makecache

直接安装最新版

yum install -y gitlab-ce

如果要安装指定的版本,在后面填上版本号即可

yum install -y  gitlab-ce-15.2.2

如果安装时出现gpgkey验证错误,只需在安装时明确指明不进行gpgkey验证

yum install gitlab-ce -y –nogpgcheck

 

3、配置

vim /etc/gitlab/gitlab.rb # 修改默认的配置文件

(1)设定访问地址

external_url 'http://10.0.0.101:8888'

(2)配置邮件

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.163.com"

gitlab_rails['smtp_port'] = 25

gitlab_rails['smtp_user_name'] = "cilliandevops@163.com"  # 自己的邮箱账号

gitlab_rails['smtp_password'] = "xxx"  # 开通smtp时返回的授权码

gitlab_rails['smtp_domain'] = "163.com"

gitlab_rails['smtp_authentication'] = "login"  

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = false

gitlab_rails['gitlab_email_from'] = "cilliandevops @163.com"  # 指定发送邮件的邮箱地址

user["git_user_email"] = "cilliandevops @163.com"   # 指定接收邮件的邮箱地址

(3)重载配置

gitlab-ctl reconfigure # 重载配置文件

 

4、使用

(1)常用命令

gitlab-ctl start         # 启动所有 gitlab 组件

gitlab-ctl stop          # 停止所有 gitlab 组件

gitlab-ctl restart       # 重启所有 gitlab 组件

gitlab-ctl status        # 查看服务状态

gitlab-ctl reconfigure   # 启动服务

gitlab-ctl show-config   # 验证配置文件

gitlab-ctl tail          # 查看日志

gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab

 

(2)创建group、user,添加user到group并授权

(3)创建项目到组,并添加成员user

(4) # 将app01项目克隆下来

git clone git@10.0.0.101:front-end/app1.git

初始化配置

git config --global user.name "cillian"

git config --global user.email "cilliandevops@163.com"

在app1目录下新建一些文件

推送到gitlab

git add .

git commit -m "初始版本"

git push origin master

   (5)备份:修改默认配置

备份保存的位置,这里是默认位置,可修改成指定的位置

gitlab_rails['backup_path'] = "/cillian/opt/gitlab/backups"

 

设置备份保存的时间,超过此时间的日志将会被新覆盖

gitlab_rails['backup_keep_time'] = 604800  # 这里是默认设置,保存7天

注意:

#     如果自定义了备份保存位置,则要修改备份目录的权限,比如:

#     chown -R git.git  /cillian/opt/gitlab/backups

重载配置  gitlab-ctl reconfigure,重启 gitlab-ctl reconfigure

 

(6)定时任务 ,每天0点备份一次,文件12345678_gitlab_backup.tar,查看时间戳 data -d @123454678

0 0 * * * /usr/bin/gitlab-rake gitlab:backup:create

(7)# 进行恢复

gitlab-rake gitlab:backup:restore BACKUP=12345678  # 这个时间戳就是刚刚备份的文件前面的时间戳,重启即可

 

重启

gitlab-ctl restart

 

 

5、问题

(1)安装卡主不动,基本是内存不够,内存调大一点即可

(2)端口冲突,在默认配置改一下端口即可

 (3)忘记密码:进入控制台gitlab-rails console -e production,修改命令:user.password = 'secret_pass' 确认密码:user.password_confirmation = 'secret_pass',保存密码:user.save! ,退出:exit

好了,对于gitlab的基础·使用有一个大致的了解,祝学习顺利!