赞
踩
- GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。
- 常用的网站:
- 官网:https://about.gitlab.com/
- 国内镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
- 安装环境:
- 1、 CentOS 6或者7
- 2、 2G内存(实验)生产(至少4G)
- 3、 安装包:gitlab-ce-10.2.2-ce
- 4、 禁用防火墙,关闭selinux
-
- https://about.gitlab.com/installation/#centos-7 # git官网
- yum install -y curl policycoreutils-python openssh-server # 安装依赖
- cd /home/oldboy/tools
- rz -bye gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm # 上传gitlab安装包 下载方式可通过国内清华源gitlab-ce社区版本下载
- vim /etc/gitlab/gitlab.rb # gitlab 配置文件
- 更改url地址为本机IP地址 external_url 'http://10.0.0.203'
- gitlab-ctl reconfigure # 更改配置文件后需重新配置
- /opt/gitlab/ # gitlab的程序安装目录
- /var/opt/gitlab # gitlab目录数据目录
- /var/opt/gitlab/git-dfata # 存放仓库数据
- gitlab-ctl status # 查看目前gitlab所有服务运维状态
- gitlab-ctl stop # 停止gitlab服务
- gitlab-ctl stop nginx # 单独停止某个服务
- gitlab-ctl tail # 查看所有服务的日志
- 通过浏览器输入IP地址进行访问gitlab
- 10.0.0.203
- Gitlab的服务构成:
- nginx: 静态web服务器
- gitlab-workhorse: 轻量级的反向代理服务器
- logrotate:日志文件管理工具
- postgresql:数据库
- redis:缓存数据库
- sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
- unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)
- 1、配置外观
- 管理区域-外观
- 2、关闭自动注册-可根据实际需求操作
- 管理区域-设置-关闭自动注册
- 3、创建组-用户-项目
- 创建组
设置组名称、描述等创建群组
创建用户
设置密码
4、把用户添加到组里面
管理区域-选择创建的oldboy组进行添加用户、权限给开发人员-增加用户到群组
5、创建仓库
管理区域-创建仓库
- 6、登陆dev用户测试是否能看到空的git-test仓库
- 7、添加ssh-keys到gitlab 注:一个服务器的key只能添加到一个gitlab服务器上,一个用户可以添加多个key
- ssh-keygen -t rsa
- 8、添加远程仓库、推送本地代码到远程仓库
- git remote add origin git@10.0.0.203:oldboy/get_test.git # 添加远程仓库
- git remote rename origin old-origin # 远程 origin 如果已经存在则重新命名或者新添加仓库名称不同
- git push -u origin --all # 推送代码到远程仓库
- 8、克隆代码到另外一台主机
- 如果不做认证会让输入gitlab的密码、我们使用key进行认证
- ssh-keygen -t rsa
- 把公钥复制到dev用户下进行测试
- 然后在克隆代码
- git clone git@10.0.0.203:oldboy/get_test.git
- 测试推送代码到dev下
- git branch dev
- git checkout dev
- touch dev
- git add .
- git commit -m "add dev"
- git push -u origin dev # 推送dev分支到远程仓库
- 提交合并请求进行分支合并到master主分支
- 合并后在gitlab服务端master上没有dev、要先进行pull
- cd /root/git_data
- git pull
- 9、设置保护主分支
- 测试dev分支推送代码则显示为拒绝,如果还是可以推送请查看配置保护分支选项
- [root@web01 get_test]# git checkout master
- [root@web01 get_test]# git merge dev
- [root@web01 get_test]# git push -u origin master
-
- 10、返回master端测试推送,由于其他分支进行推送,和master端内容不一致,所以无法进行推送,使用git pull把代码拉取到本地,或者git fetch 把代码拉取到本地仓库后进行合并(注意:git pull = git tetch+git merge)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。