gitlab---简介、安装、使用

gitlab简介

 
GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装。 
它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。
 

gitlab服务管理命令

 
gitlab-ctl start # 启动所有 gitlab 组件
gitlab-ctl stop # 停止所有 gitlab 组件
gitlab-ctl restart # 重启所有 gitlab 组件
gitlab-ctl status # 查看服务状态
gitlab-ctl reconfigure # 初始化服务
gitlab-ctl tail # 查看日志
 

gitlab软件安装

 
gitlab-ce 社区版
gitlab-ee 企业版
 

下载

 
官网: https://about.gitlab.com/installation 官网下载速度较慢
 

1.软件安装

 
# yum install -y gitlab-ce-10.8.3-ce.0.el7.x86_64.rpm
 

2.修改配置文件

- 红字部分是要修改的
# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.10.21' #改成你自己服务器的IP或域名
 
 
gitlab_rails['gitlab_email_from'] = 'user_sunli@sina.com' #改成你自己的邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.sina.com" #改成你自己邮箱的SMTP服务器
gitlab_rails['smtp_port'] = 25 #SMTP服务器的端口
gitlab_rails['smtp_user_name'] = "user_sunli2@sina.com" #改成你自己的邮箱
gitlab_rails['smtp_password'] = "邮箱授权码" #自己邮箱的授权码
gitlab_rails['smtp_domain'] = "sina.com" #SMTP服务器的域
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
 
 
 
gitlab_rails['gitlab_email_from'] = 'user_sunli@sina.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.sina.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "user_sunli@sina.com"
gitlab_rails['smtp_password'] = "b89900df1f87d423"
gitlab_rails['smtp_domain'] = "sina.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
 
 
gitlab_rails['gitlab_email_from'] = '1916989848@qq.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "1916989848@qq.com"
gitlab_rails['smtp_password'] = "vvotbaaiifrweagh"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
 
 
 
 
 
配置服务器发公网邮件
1、确保postfix服务运行
# systemctl status postfix
2、安装mailx
# yum install -y mailx
3、配置smtp服务器
    修改/etc/mail.rc文件,在文件中添加以下内容
# vim /etc/mail.rc
 
set from=user_sunli@sina.com
set smtp=smtp.sina.com
set smtp-port=465
set smtp-auth-user=user_sunli@sina.com
set smtp-auth-password=b89900df1f87d423
set smtp-auth=login
 
set from=1916989848@qq.com
set smtp=smtp.qq.com
set smtp-port=465
set smtp-auth-user=1916989848@qq.com
set smtp-auth-password=vvotbaaiifrweagh
set smtp-auth=login
 
4、测试
# echo "邮件内容" |mail -s "邮件标题" 公网邮箱
# echo "hello" |mail -s "hehehe" 1916989848@qq.com
 
 
----------------------------------------------------------------
配置邮箱可能遇到的问题:
1).端口,sina邮箱smtp端口为25, 其他邮箱的端口需要查询
2).需要在邮箱设置中开启smtp服务
----------------------------------------------------------------
 

3.初始化并启动服务

 
# gitlab-ctl reconfigure
(3分钟左右)
 
 

 
邮件测试
# gitlab-rails console
Loading production environment (Rails 4.2.10)
irb(main):001:0> Notify.test_email('1916989848@qq.com', 'test', 'hello').deliver_now

 
4.浏览器访问192.168.10.21
先设置root密码,然后用root帐户登录
 
 
去掉用户的自动注册功能
 
创建用户eric,lily. 用户添加后,gitlab会给用户发一封修改密码的邮件,各用户需要登录自己的邮箱,并点击相关的链接,设置新密码。
 
 
 
Gitlab使用
大部分公司的处理流程如下:
PM在gitlab创建任务,分配给开发人员
开发人员领取任务后,在本地使用git clone拉取代码库
开发人员创建开发分支(git checkout -b dev),并进行开发
开发人员完成之后,提交到本地仓库(git commit )
开发人员在gitlab界面上申请分支合并请求(Merge request)
PM在gitlab上查看提交和代码修改情况,确认无误后,确认将开发人员的分支合并到主分支(master)
开发人员在gitlab上Mark done确认开发完成,并关闭issue。这一步在提交合并请求时可以通过描述中填写"close #1"等字样,可以直接关闭issue
 
Gitlab上有 项目(project) 跟 组(group) 的概念
一个组里有一到多个成员(用户), 他们可能是各种不同的角色(owner, master, developer...) , 各角色权限不同
一个组里可以有多个项目(代码库)
 
我们先创建组,再在组中创建项目
使用eric用户的身份与密码登录,登录后先创建一个项目组,创建后eric为此项目组的owner
 
创建项目组:
• Private 私有,只有所有者、组内成员或已分配的用户有查看权限(同GitHub收费版的私有仓库)
• Internal 内部,拥有GitLab账号的成员可以查看,无账号用户无法访问(适合于服务器放在公网但不想公开代码的情景,GitHub没有这个功能)
• Public 公共,任何人都可以访问(同GitHub免费版的公共仓库)
建议公司内部的代码仓库都设置为 Internal。 
 
创建完成后, 将用户lily添加到组中,并指定Ta为Developer 
 
创建project
 
项目创建好后由PM创建README.md文件并推送到master分支
1.eric用户登录Gitlab,并上传自己的公钥
2.将项目库克隆下来,创建README.md文件并提交到本地
# yum install git -y
# git config --global user.name "eric"
# git config --global user.email "eric@xxx.com"
# git clone git@192.168.10.21:zidian/voice-message.git
# cd voice-message
# echo "xxxxxxxx" > README.md
# git add README.md
# git commit -m "first commit"
# git push origin master
 
 
开发人员操作 - 以下为开发人员lily为例
1.使用自己的帐号登录Gitlab并上传公钥
2.将项目库克隆下来并创建新的分支进行开发: 以dev分支为例
# yum install git -y
# git config --global user.name "lily"
# git config --global user.email "lily@xxx.com"
# git clone git@192.168.10.21:zidian/voice-message.git
# cd voice-message
# git checkout -b dev
 
3.将代码提交到本地可能多次提交
# git add xxx
# git commit -m "xxxx"
 
4.将开发好的代码提交到Gitlab
# git push origin dev #注意,开发人员不能直接提交到master分支
 
5.登录Gitlab, 创建合并请求
 
6.eric用户登录到Gitlab,找到"合并请求", 将dev分支合并到master
 

 
 
posted @ 2020-10-20 21:02  梦里花落知多少sl  阅读(928)  评论(0编辑  收藏  举报