感觉不妥

导航

 

本篇内容:

  --->Gitlab搭建部署

  --->Gitlab项目创建及用户管理

    |-->创建用户及群组

      |->创建用户

      |->创建群组

    |-->创建项目并设置权限

 

 

搭建于虚拟机:

  CentOS Linux release 7.9.2009 (Core)

  3.10.0-1160.el7.x86_64

  (1处理器,8GB内存,生产环境要根据实际需要,此软件还是比较吃内存的)

 


 

 

Gitlab搭建部署

 

下载地址:

  https://packages.gitlab.com/gitlab/gitlab-ce

  https://mirrors.cloud.tencent.com/gitlab-ce/

[root@localhost opt]# ls -lh
total 865M
-rw-r--r--. 1 root root 865M Aug  7 23:29 gitlab-ce-13.12.9-ce.0.el7.x86_64.rpm

 

安装所需的依赖软件并开启服务:

[root@localhost opt]# yum install -y curl postfix cronie policycoreutils-python

 

安装Gitlab的rpm包:

    ##需要一些时间,稍等等
[root@localhost opt]# rpm -ivh gitlab-ce-13.12.9-ce.0.el7.x86_64.rpm 
warning: gitlab-ce-13.12.9-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:gitlab-ce-13.12.9-ce.0.el7       ################################# [100%]
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=13-12

 

编辑配置文件:

  这里提示一下,配置文件版本上有所不同,比如,我这篇写的时候示例是 13.12.9 版本,但是在实际应用之后 安装的是 14 的版本,按照下面的配置方式已经报错啦;

  不过报错中会给予提示,https://docs.gitlab.com/ee/administration/operations/puma.html   官网的文档,主要是 unicorn 已经弃用,需要切换到 Puma ;

[root@localhost opt]# vim /etc/gitlab/gitlab.rb
    ... ...
    ##设置地址,填写主机的IP地址即可
    ##下面两个端口设置是直接添加的
external_url 'http://192.168.180.129'

    ##端口这里要设置,根据需求指定,以前版本为 unicorn ,目前新版本为 puma
    ##最初我这里没有指定,一直提示我网页重定向,不能访问
puma['port'] = 8765
nginx['listen_port'] = 9876

    ##可以编辑自己制定的目录位置存放数据,记得创建目录
    ##设置多个目录位置,{ } 之间需要用 , 分隔
git_data_dirs({
  "default" => {
    "path" => "/codeData/git-data"
   },
  "test1" => {
    "path" => "/codeData/test1/"
   }
})
    ... ...
    ... ...
    ##这里是配置文件里默认带的模板,配置是可以复制来修改
 612 # git_data_dirs({
 613 #   "default" => {
 614 #     "path" => "/mnt/nfs-01/git-data"
 615 #    }
 616 # })
    ... ...
    ... ...

    ##编辑保存配置文件后,若是自己指定了数据目录,则需要创建
[root@localhost opt]# mkdir -pv /codeData
mkdir: created directory ‘/codeData’

 

 

 配置初始化:

    ##初始化配置时间比较长,耐心等等
[root@localhost opt]# gitlab-ctl reconfigure
    ... ...
    ... ...
Recipe: monitoring::grafana
  * runit_service[grafana] action restart (up to date)

Running handlers:
Running handlers complete
Chef Infra Client finished, 595/1565 resources updated in 04 minutes 24 seconds

Notes:
It seems you haven't specified an initial root password while configuring the GitLab instance.
On your first visit to  your GitLab instance, you will be presented with a screen to set a
password for the default admin account with username `root`.

gitlab Reconfigured!

 

 

修改nginx端口配置:

    ## server_name 可以填写IP及端口,也可以填写域名
    ## 这个设置与 /etc/gitlab/gitlab.rb 中的 external_url 相应
[root@localhost opt]# vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
server { ## HTTPS server
  listen *:9876;
  server_name 192.168.180.129:9876;
  ... ...
  ... ...

 

 

启动服务:

    ##启动服务
[root@localhost opt]# gitlab-ctl start
ok: run: alertmanager: (pid 3793) 281s
ok: run: gitaly: (pid 3686) 285s
ok: run: gitlab-exporter: (pid 3693) 284s
ok: run: gitlab-workhorse: (pid 3666) 286s
ok: run: grafana: (pid 3810) 280s
ok: run: logrotate: (pid 2485) 496s
ok: run: nginx: (pid 3051) 413s
ok: run: node-exporter: (pid 3677) 285s
ok: run: postgres-exporter: (pid 3804) 280s
ok: run: postgresql: (pid 2739) 473s
ok: run: prometheus: (pid 3705) 283s
ok: run: puma: (pid 2947) 431s
ok: run: redis: (pid 2527) 490s
ok: run: redis-exporter: (pid 3695) 284s
ok: run: sidekiq: (pid 2975) 425s

    ##相应的,也有停止服务和重启服务
    ##停止服务
[root@localhost opt]# gitlab-ctl stop
    ##重启服务
[root@localhost opt]# gitlab-ctl restart

 注意:记得关闭firewalld和selinux;

 

修改默认的 root 密码:

[root@localhost ~]# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.12.9 (af9df3fee54) FOSS
 GitLab Shell: 13.18.1
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.7)
irb(main):001:0> user = User.where(id:1).first
=> #<User id:1 @root>
irb(main):002:0> user.password='123456789'
=> "123456789"
irb(main):003:0> user.password_confirmation='123456789'
=> "123456789"
irb(main):004:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 6db44a2e-890d-427b-b9ae-77facab8c8cf) to Sidek
iq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<Globa
lID:0x00007f69b12c3248 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
irb(main):005:0>

 

浏览器访问:http://192.168.180.129:9876/

这里上来会提示我们修改密码:

 

 

这里的邮箱需要你设置一个开通了SMTP的邮箱,若想上述步骤是没有设置的,那么填写了新的密码下一步之后,会提示如下(直接翻译,英语看费劲):

邮箱的配置是选择性的,可以有,也可以没有;

当你没有配置的时候下面会有一行:已经有登录和密码,直接进行登录(第一个页面下面也有:Already have login and password? Sign in)

 

 

我们直接点击跳转到登录即可:

 

 

 

接下来——

  我们把他设置为中文界面(注意:并不是全部汉化,但足够你分清功能,方便使用);

 

滚动至最下方即可找到,选择后记得点击 Save changes 保存;

 

 

--返回目录--


 

 

Gitlab项目创建及用户管理

 

首先来看一下管理中心的界面,你需要做的管理,都在这里可以找到:

 

 

 

创建用户及群组

 

  创建用户

View latest users 是查看当前已经存在的用户的列表;

 

点击 新建用户 进入创建用户的界面(填写信息后记得确认保存 Create user):

 

 

这里有几项需要说明:

1、第一项名称,是你登录时用的账户名,而第二项 Username 则是你登陆后你个人显示的名字;

2、电子邮件可以是随便的,若你设置了stmp邮箱,可以发送邮件,那么可以填写真实的邮件地址,用来日常接受邮件;

3、密码问题,首次创建的用户没有密码,这个密码需要你创建账号后,再次进入用户设置进行初始化设置;

  初始化密码后的第一次登录(每次初始化都是)会要求你重新设置密码,之后不进行重置设置便会一直可以使用;

4、普通用户和管理员用户差别在于可见的项目以及各种管理,这个用户的权限是针对整个Gitlab的;

 

 

  创建群组

View latest groups 是查看当前已经存在的群组的列表;

 

点击 新建群组 进入创建群组的界面(填写信息后记得保存):

 

 

这里有几项需要说明:

1、可见性级别,私有是你需要自己设定哪些用户和群组可以查看,内部则是可以登录到Gitlab的所有用户均可查看,而公开是所有人,只要进入网页,当然,我们部署的是本地内部的项目;

  (公司内部使用,我都是创建的私有,管理员可以查看任何,但是其他人要设置权限,不要给太大了)

2、允许创建新项目和子群组的这两个中,维护者 相当于管理员 ,但是他不是 拥有者 ,这个相应的需要区分一下,依然遵从工作流程给予合适的最小权限即可;

 

 

群组这里涉及到一个添加组员的操作:

点击管理界面的 View latest groups 来查看现有的群组;

 

 

将指定的用户添加到群组里;

 

 

用户组内的身份权限需要设定一下:

  Guest 只能看;

  Reporter 可以看,可以克隆,其他不行;

  Developer 开发者权限,可以各种修改,提交什么的,开发人员的用户,给到这个就行;

  Maintainer 维护者,也就是管理员,权限比较大,对代码的操作也是非常多,权限都给了,但是他不能删除项目;

  Owner 拥有者,这个就不要随便给了,为所欲为了(仅限这个群组);

 

 

 

创建项目并设置权限

这里只说新建空白项目做个例子,导入跟随提示即可(创建非常简单,主要是相应的设置);

点击 新建项目 之后进入界面,里面三项:创建空白项目,模板创建 和 导入;

 

 

 创建后新仓库会有提示,是一些基本操作,之后需要的是你把代码放到这里:

 

 

管理设置需要进入 管理中心 点击 View latest projects 进入项目列表:

 

 

 

 

这里和群组添加成员的界面类似,邀请单独的用户和群组都是在此设置:

  说明一下,每个成员用户都有自己的邮箱,当你邀请成员时,点击下拉列表可能会出现邮箱地址让你选择,它会自动为你选择到相应的用户;

  当你直接去点这个输入框的位置时就会显示邮箱地址,你需要让光标在输入框中显示,那么它显示的就是用户列表了;

  过期时间你可以不设定,代表的是永不过期;

 

 

 

--返回目录--


 

posted on 2021-09-21 18:56  感觉不妥  阅读(1358)  评论(0编辑  收藏  举报