本文共 3145 字,大约阅读时间需要 10 分钟。
Git是版本控制系统,Github是在线的基于Git的代码托管服务。
GitHub是2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的代码仓库。
Gitlab解决了这个问题, 可以在上面创建免费的私人repo。
gitlab server搭建过程
安装相关依赖包
[root@node04 ~]# yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
启动邮件服务
[root@node04 ~]# systemctl start postfix
[root@node04 ~]# systemctl enable postfix
下载RPM包
[root@node04 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.7.2-ce.0.el7.x86_64.rpm
[root@node04 ~]# rpm -ivh gitlab-ce-10.7.2-ce.0.el7.x86_64.rpm
安装完成出现以下界面
gitlab的配置文件 /etc/gitlab/gitlab.rb, 编辑如下:
[root@node04 ~]# vim /etc/gitlab/gitlab.rb
修改域名或者IP地址
[root@node04 ~]# grep "^external_url" /etc/gitlab/gitlab.rb
external_url 'http://192.168.150.140'
使用gitlab-ctl reconfigure 自动配置,并安装数据库,初始化信息,如下所示(第一次使用配置时间较长):
使用gitlab-ctl start 启动gitlab服务,如下所示:
[root@node04 ~]# gitlab-ctl start
[root@node04 ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 37224 root 7u IPv4 82122 0t0 TCP :http (LISTEN)
nginx 37225 gitlab-www 7u IPv4 82122 0t0 TCP:http (LISTEN)
修改配置文件,添加smtp邮件功能
[root@node04 ~]# vim /etc/gitlab/gitlab.rb
[root@node04 ~]# grep -P "^[^#].*smtp_|user_email|gitlab_email" /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'example@example.com'
gitlab_rails['gitlab_email_display_name'] = 'Example'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
gitlab_rails['gitlab_email_subject_suffix'] = ''
user['git_user_email'] = "gitlab@#{node['fqdn']}"
[root@node04 ~]# gitlab-ctl reconfigure
重启gitlab
[root@node04 ~]# gitlab-ctl start
ok: run: gitaly: (pid 37574) 298s
ok: run: gitlab-monitor: (pid 37604) 295s
ok: run: gitlab-workhorse: (pid 37563) 299s
ok: run: logrotate: (pid 37241) 380s
ok: run: nginx: (pid 37224) 386s
ok: run: node-exporter: (pid 37306) 368s
ok: run: postgres-exporter: (pid 37701) 293s
ok: run: postgresql: (pid 36977) 436s
ok: run: prometheus: (pid 37613) 293s
ok: run: redis: (pid 36917) 442s
ok: run: redis-exporter: (pid 37415) 350s
ok: run: sidekiq: (pid 37195) 394s
ok: run: unicorn: (pid 37157) 400s
使用gitlab-rails console命令进行发送邮件测试,如下所示
[root@node04 ~]# gitlab-rails console
gitlab的使用
在浏览器中输入 http://192.168.150.140/ ,然后 change password: ,并使用root用户登录 即可 (后续动作根据提示操作)
修改密码也可以:gitlab-rails console production
irb(main):001:0> user = User.where(id: 1).first // id为1的是超级管理员
irb(main):002:0>user.password = 'yourpassword' // 密码必须至少8个字符
irb(main):003:0>user.save! // 如没有问题 返回true
exit // 退出
创建 group ,组名为pla01t-sp ,如下所示:
admin are -> settings -> Sign-up Restrictions 去掉钩钩,然后拉到最下面保存,重新登录
创建用户Tompson如下所示:
同样的方法,再创建Eric 、Hellen 用户。用户添加完毕后,gitlab会给用户发一封修改密码的邮件,各用户需要登录自己的邮箱,并点击相关的链接,设置新密码。
将用户添加到组中,并指定Tompson为本组的owner:
同样的方法将用户Eric、Hellen也添加到组中,并指定他们为Developer:
使用Tompson用户的身份与密码登录到gitlab界面中,并创建Project ,如下所示:
大部分公司的处理流程如下:
PM在gitlab创建任务,分配给开发人员
开发人员领取任务后,在本地使用git clone拉取代码库
开发人员创建开发分支(git checkout -b dev),并进行开发
开发人员完成之后,提交到本地仓库(git commit )
开发人员在gitlab界面上申请分支合并请求(Merge request)
PM在gitlab上查看提交和代码修改情况,确认无误后,确认将开发人员的分支合并到主分支(master)
开发人员在gitlab上Mark done确认开发完成,并关闭issue。这一步在提×××并请求时可以通过描述中填写”close #1″等字样,可以直接关闭issue
转载地址:http://dkcpo.baihongyu.com/