本文已参与「新人创作礼」活动,一起开启掘金创作之路。
作者按: 为了开发者能够随时随地开发,且方便管理,代码仓库的这个应用就产生了,今天就来研究一番其中私有化代码库里比较流行的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的基础·使用有一个大致的了解,祝学习顺利!