思维导图
登录访问
http://ip #root用户/密码(第一次登录重置的密码)
group管理
一个开发团队或者一个项目组对应一个group 组,一个组内会有多个仓库,对应团队的代码都放在这个组内,通过授权控制其他用户对组内信息的访问。
创建
点击管理设置
新建组
选择项目的私密级别,一般为private
用户管理
新建
New user
其他信息填写
授权管理
可以针对组授权,也可以针对仓库授权,如果是组的话那么组内所有仓库都继承了该权限。
创建项目仓库
用户账号密码管理
生产环境一般使用LDAP管理用户账户密码。如果没有LADP可以通过管理员编辑用户,配置临时密码,用户通过临时密码登录系统后提示重置密码登录即可。
项目仓库的连接
通过ssh 方式的话需要在项目上添加密钥。
点击图标
选择如下选项
每个git客户端开发者都有一个对应的gitlab仓库的用户账号,通过此账号管理其对应的仓库,在git客户端服务器上生成密钥对,把生成的公钥通过gitlab账号复制到gitlab上面即可。
git 客户端连接gitlab
git clone git@192.168.67.130:sign_group/project-hjs.git
notice:
一般都不用管理员去gitlab上添加公钥,都是普通用户。
如果不添加密钥,git客户端通过ssh 访问gitlab 后会提示输入账号密码但是无此密码所有无法连接。
在仓库上添加文件
点击添加 按钮,选择New File
Deploy key
此密钥与之前的git 客户端密钥不同,此处是用于jenkins授权的密钥部署,只能下载不能上传。只能用管理员登录管理
项目管理
gitlab 可以对一个要开发的项目制作一个项目计划,如下。项目开发有多个开发者完成,每个人负责其中一个模块,都有完成时间计划。
在gitlab控制台去创建,注意一般使用管理者角色用户去创建项目计划,而不是开发者。
选择对应的项目
信息录入
创建 issues,issues就是每个项目计划中某一个开发者负责的开发任务。
new issue
信息录入
ISSUE完成后,开发者用户登录gitlab后就会看到自己的项目任务
显示如下
开发者在自己的git 客户端新建一个分支,开发“首页“任务的代码,完成后直接推送到gitlab(gitlab 会自动新建一个相应分支),开发者用其账号登录gitlab ,查看新提交的分支,合并到主分支,操作如下
开发者发送一个合并的请求
合并操作必须有项目的Master/Ower完成
Tips:
issue完成后在页面需要找到他,要关闭issue
其他开发者开发自己负责的模块功能时候需要在master 分支 git pull ,把gitlab上面的分支的代码同步到本地master,然后开发自己的项目模块
自己的模块要新建一个分支,分支名以模块名名命不可用与其他分支重名。
当新分支commit 时标注为-m "close #2" 那么提交后,在gitlab上合并到主分支后随后就会自动删除对应id 为#2的issue。
Notice:
客户端不能以master分支推送代码到gtilab,这是gitlab的权限控制
开发者dev1提交的分支请求,其他对这个项目有权限的开发者也能看到,并且有提交和并请求的权限
新的分支提交后会看到前几次的提交的分支也会有合并请求的选项但是已经显示已合并的状态,所有无需处理,只提交未合并的当前分支的合并请求即可。