GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,可注册用户,任意提交你的代码,添加SSHKey等等。区别是,GitLab是可部署到自己服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的资产放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub
为快速搭建gitlab环境,本文使用docker进行搭建
1、搜索和下载gitlab镜像
docker search gitlab
sudo docker pull gitlab/gitlab-ce:latest
2、 创建docker中的网络
docker network create gitlab_net
3、创建容器,并使重要数据外部挂载到宿主机
docker run --name='gitlab' -d \
--net=gitlab_net \
--publish 1443:443 --publish 9999:80 \
--restart always \
--volume /root/docker/gitlab/config:/etc/gitlab \
--volume /root/docker/gitlab/logs:/var/log/gitlab \
--volume /root/docker/gitlab/data:/var/opt/gitlab \
--privileged=true \
gitlab/gitlab-ce:latest
4、查看启动起来的gitlab服务
docker ps | grep gitlab
参数解析
启动成功后,可以通过浏览器访问一下:
容器启动成功后,马上访问这个界面可能页面刷不出来,需要耐心等待一会儿,gitlab初次加载的时候需要初始化很多内容,但如果出现了错误的页面或者其他错误,可以进入挂载的日志目录排查一下,或者通过下面的命令进行日志的查看
docker logs gitlab
一般情况下,端口冲突的会比较多,这时候可以去修改gitlab.rb文件中的端口配置
vi gitlab.rb
找到 unicorn[‘port’] = 8080 的地方,修改为不会被占用的端口,修改完毕再次重启容器即可
docker restart gitlab
因为镜像就有一个多G,每次启动容器,重启,需要花一段时间等待,有些情况下,访问一直是502,有可能是是因为CPU、内存耗尽导致
1、修改密码
初次登陆,需要你修改密码,修改完毕后,以root用户进行登陆
1、创建组
使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理
2、创建用户
创建用户的时候,可以选择Regular或Admin类型。
为zhangsan这个用户配置组,用户加入到具体的分组中,用户就可以被分配这个组里面对应的项目基本权限
这个地方,一般选择developer就可以,就是具备开发者相关权限
Gitlab用户在组里面有5种不同权限:
然后使用张三的账号登陆进去看看 ,首次登录会提示你修改密码,登录进去后可以看到该用户已经具备了web_demo这个项目的权限了,同时归在zcy_grouo这个组中
idea中创建一个web项目,然后演示通过git将此项目推到gitlab上
2、提交代码到本地仓库
git -> Commit Directory ,将文件添加到本地仓库
连接远程的gitlab仓库,验证用户名和密码,git -> Repository -> remote
拷贝gitlab中创建的项目地址到下面的url处
最后将项目选中,push即可完成代码提交到远程仓库中,下面要说一个问题,就是上面的gitlab中的项目URL并不是IP形式的,导致拉项目的时候验证用户名和密码一直有问题,由于我这里是使用docker开启的gitlab,因此需要进入到容器中修改配置文件,将中间的那串字符串更换为IP形式
进入容器
docker exec -it gitlab /bin/bash
进入如下目录,
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
修改完毕后记得在容器内重启一下gitlab服务
gitlab-ctl restart
本篇简单介绍了一下gitlab的安装和基本的使用,希望对看到的伙伴有用,最后感谢观看!