博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gitlab的配置
阅读量:4327 次
发布时间:2019-06-06

本文共 1830 字,大约阅读时间需要 6 分钟。

一. 管理员配置 gitlab

1. 登录 gitlab

等待 docker 容器启动完成后, 登陆

http://localhost:8080

第一次访问是让我们修改管理员密码。如下所示

初始化 gitlab 管理员密码

设置后管理员密码后,就进入登录页面,输入用户名 root 和刚才设置的密码就进入了 gitlab 的控制台。如下图所示

gitlab 管理员控制台

2. 创建组( group)

gitlab 里面有三类对象:组( group)、项目( project)和用户 (people)。

为了方便管理,我们应该基于组来创建项目。一个项目就是一个 git 的仓库。基于组创建项目 ,然后将用户设置合适的权限后加入到组里面。这样用户就有了组里面所有项目的对应权限。

点击 “Create a group” 链接,如下图所示创建一个“健康医疗开发组” 的组

gitlab 创建组

3. 创建用户(people)

点击 “Add people” 链接,如下图所示创建一个 “yanggch” 的用户

gitlab 增加用户

因为还没有配置好邮件服务,所以还不能发送用户初始化密码的邮件。我们需要编辑用户,手动设置一个密码。如下图所示。如果用户忘记了密码,充值密码也可以在这里进行。

gitlab 修改用户信息

3. 将用户加入组

为了方便管理,需要将用户加入到对应的组里面。如下图所示,在组管理界面中,点击组的名称,进入组用户设置界面。将刚才创建的用户 “yanggch” 加入到组 “健康医疗开发组”中,并且给他设置为 “Master” 角色。只有 “Master” 或者 “Owner” 角色才能推送 git 的更新。

image.png

4. 创建项目(project)

增加 gitlab 组的时候,为了让项目让组里面的人都能访问,注意要将项目建立在组之下。如下图所示,在“健康医疗开发组”之下建立了 “redis_util” 的项目。

gitlab 创建项目

这样项目建好之后就可以被组里的用户访问了。

二. 客户端访问

1. 设置ssh Key

刚才那种方式通过 http 协议和 gitlab 进行通信,每次都要输入用户名和密码,非常不方便。用户可以设置通过 ssh 进行交互,将ssh key 加入到用户的 sshkey 设置列表中。

参考“命令访问” 章节进入 git 的 bash 环境。执行下面的命令进入 ssh key 存储目录

cd ~/.ssh

目录中 id_rsa.pub 是 ssh 访问的公钥。如果不存在则执行下面的命令生成

ssh-keygen -t rsa

全部回车后,会生成 id_rsa.pub 文件。

将文件中的内容拷贝到剪贴板。然后通过前面创建的用户名和密码登录 gitlab 控制台。在下面的界面中,将 id_rsa.pub 文件的内容填入文本框

配置用户 ssh key

保存后。再通过 ssh 协议操作 git 仓库,将不再需要输入用户名和密码。如下所示

免登陆操作 gitlab 仓库

2. 推送一次提交

首先配置当前仓库的用户名和用户邮箱配置

cd redis_utilgit config --local user.name "yanggch"git config --local user.email "yanggch@inspur.com"

然后在 redis_util 目录下加入一个 readme.txt,执行下面的命令提交并将更新推送到 gitlab 远程服务器

#将新文件加入到版本管理git add readme.txt#提交git commit -m"第一次提交"#将当前分支 master 推送到远程仓库git push#以 master 分支为基础建立一个新的 dev 本地分支 git checkout -b dev #将本地仓库分支推送到远程仓库,在远程仓库建立对应的 dev 分支 git push --set-upstream origin dev

到 gitlab 控制台查看 redis_util 的状态。如下图所示

redis_util 分支状况

到此,我们就完成了一个公司级别的 gitlab 服务器的搭建工作。同事们可以在这个上面流畅的进行开发了。

转载于:https://www.cnblogs.com/lvchaoshun/p/9276514.html

你可能感兴趣的文章
关于SQL5005C
查看>>
JQuery EasyUI之DataGrid列名和数据列分别设置不同对齐方式(转)
查看>>
JavaScript中的null与nudefined
查看>>
js节点问题
查看>>
不使用中间变量,交换int型的 a, b两个变量的值。
查看>>
秘书问题
查看>>
nginx日志模块与HTTP过滤模块与sub模块修改返回内容
查看>>
跳转指令
查看>>
Android应用程序设置让程序不出现在近期任务列表中
查看>>
Object Tracking Benchmark
查看>>
python每天进步一点点
查看>>
docker镜像下载
查看>>
数据库--查询器
查看>>
querySelector与getElementBy等的区别
查看>>
python 字符串
查看>>
C语言--第0次作业
查看>>
POJ1200(hash)
查看>>
有参装饰器实现登录用户文件验证和验证失败锁定
查看>>
2018-02-27 "Literate Programming"一书摘记之一
查看>>
L2-003. 月饼
查看>>