Centos 安装 GitLab 8.5.1 版本管理

时间:2023-03-09 13:24:41
Centos 安装 GitLab 8.5.1 版本管理

GitLab版本管理

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。在线DEMO

社区版基于MIT license开源完全免费 
无用户,协作和仓库限制 
保护你的源码安全 
管理仓库,用户与访问权限 
更多功能请看这儿

依赖组件:ruby 1.9.3+,MySQL,git,redis, Sidekiq。最低配置CPU 1G,RAM 1G+swap可以支持100用户。

安装

官方有安装包与脚本下载,官方安装指南。同样GITHUB上有个社区非官方的安装指南

但这儿里推荐bitnami下载打包安装版本 https://bitnami.com/stack/gitlab/installer ,省去很多时间。他们也提供相关WIKIubuntu为演示环境,来安装这个包

Centos 安装 GitLab 8.5.1 版本管理

1 . 服务端 安装Gitlab

chmod  bitnami-gitlab-8.5.--linux-x64-installer.run   --修改执行权限
./bitnami-gitlab-8.5.--linux-x64-installer.run --运行安装文件

Centos 安装 GitLab 8.5.1 版本管理

会提示一些基本的设置,例如:用户名,邮箱,密码,存放位置

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

2 . 服务端 启动Gitlab

 ./ctlscript.sh start

Centos 安装 GitLab 8.5.1 版本管理

3 . 服务端 停止Gitlab

 ./ctlscript.sh stop

Centos 安装 GitLab 8.5.1 版本管理

修改默认安装路径到/data目录下,如果安装时已经设置存放路径可以忽略此步:

cd /opt
mv gitlab-8.5.-/ /data
ln -s /data/gitlab-8.5.- gitlab-8.5.-

4. 服务端 设置防火墙

iptables -I INPUT -p tcp --dport  -j ACCEPT
service iptables save
service iptables restart
cat /etc/sysconfig/iptables

5、浏览器访问:http://192.168.7.99/users/sign_in

Centos 安装 GitLab 8.5.1 版本管理

6、新建一个项目

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

Visibility Level

权限等级分三种:

  • Private 私有的,只有你自己或者组内的成员能访问
  • Internal 所有登录的用户
  • Public 公开的,所有人都可以访问

7、Git的使用

7.1 添加sshkey

git仓库之间的代码传输协议主要使用ssh协议。而一般搭建gitlab的时候使用的git用户是没有密码的,因此直接ssh是不能登录的,就需要使用ssh-keygen上传公钥,使用非对称加密传输。下面讲述如何上传你的ssh公钥:

7.1.1生成sshkey

在windows终端中敲下面的命令,第一步会生成一对私钥和公钥,分别存在 ~/.ssh/id_rsa~/.ssh/id_rsa.pub中。

ssh-keygen -t rsa

7.1.2保存sshkey到gitlab

在面板上依次点击Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的id_rsa.pub中的内容拷贝出来粘贴到输入框中,保存。

Centos 安装 GitLab 8.5.1 版本管理Centos 安装 GitLab 8.5.1 版本管理Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

完成上面两步之后就成功的添加了sshkey了,然后就可以上传代码了。

7.2 初始上传代码

如果你已经使用过git了,那么这一步对你来说可以跳过了。整体来说比较简单的。
在提交代码前,还需要设置下git的用户名和邮箱(最好用英文,不要出现中文),这样提交记录才会在gitlab上显示带有你名字的记录。
在命令行窗口输入(windows需要安装打开Git Bash工具才行):
git config --global user.name"your_name"
git config --global user.email "your_email"

Centos 安装 GitLab 8.5.1 版本管理

下面的$project_root代表工程根目录

  • 进入工程目录 cd $project_root
  • 初始化GIT本地仓库 git init
  • 添加文件到本地仓库 git add .
  • 查看本地仓库的状态 git status
  • 提交代码到仓库 git commit -m 'init commit'
  • 链接到GIT远程服务器 git remote add origin git@example.com:namespace/projectname.git
  • push代码到GIT远程服务器 git push -u origin master

Centos 安装 GitLab 8.5.1 版本管理

“git init”之后,如下图:

Centos 安装 GitLab 8.5.1 版本管理

“git add .”之后使用“git status”查看本地仓库的状态,如下图:

Centos 安装 GitLab 8.5.1 版本管理

"git commit -m 'init commit'"之后,如下图:

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

“git commit”之后使用“git status”查看本地仓库的状态,如下图:

Centos 安装 GitLab 8.5.1 版本管理

将本地代码提交到远程服务器上去:“git remote add origin git@localgit:wangyunpeng/tlz.common.git”和“git push -u origin master”之后,如下图:

Centos 安装 GitLab 8.5.1 版本管理

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

7.3 克隆代码到本地

在svn中,我们都叫checkout. 把代码checkout到本地。而git中我们叫克隆,克隆会把整个仓库都拉到本地。

如,我要把刚才的工程再clone到本地。(先把本地的tlz.common文件夹删除),需要先把.ssh目录下面的config文件配置使用证书方式登录。

git clone git@example.com:namespace/projectname.git  

Centos 安装 GitLab 8.5.1 版本管理Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

从现在起,只要本地作了提交,就可以通过命令:

git push origin master

把本地master分支的最新修改推送至GitLab,现在,你就拥有了真正的分布式版本库!

例如:

touch abc.txt  --创建abc.txt文件(windows直接创建)
git add abc.txt --把文件abc.txt添加到本地仓库
git commit -m 'add abc.txt' --把文件abc.txt提交到本地仓库
rm -f abc.txt --删除abc.txt文件(windows直接删除)
git rm abc.txt --从版本库中删除abc.txt文件
git commit -m 'remove abc.txt' --提交从版本库中删除abc.txt文件 git push origin master --把本地代码提交到远程服务器上,不用-u参数了。

给项目里的其他用户分配权限

Centos 安装 GitLab 8.5.1 版本管理

使用eclipse添加maven项目到gitlab中,首先进入git bash窗口,执行初始化操作,如下图:

Centos 安装 GitLab 8.5.1 版本管理

打开eclipse,创建maven项目,然后commit代码,如下图:

Centos 安装 GitLab 8.5.1 版本管理

提交改变,如下图:

Centos 安装 GitLab 8.5.1 版本管理

服务器上面新创建的空仓库,请使用下面的方式创建新的maven项目并且关联到远程服务器的git仓库项目:

git config --global user.name "administrator"
git config --global user.email "wangyunpeng@tidebuy.net"
git clone git@localgit:wangyunpeng/java.sem.db.git

Centos 安装 GitLab 8.5.1 版本管理

注意:创建简单的项目(Create a simple project),需要手工创建项目目录并在Location中指定,否则不需要指定到项目目录直接指到Git目录就可以。

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理

Centos 安装 GitLab 8.5.1 版本管理Centos 安装 GitLab 8.5.1 版本管理

转:http://www.cnblogs.com/wintersun/p/3930900.html

http://blog.cnbluebox.com/blog/2014/04/15/gitlabde-shi-yong/

http://blog.****.net/huaishu/article/details/50475175

http://www.jianshu.com/p/7a0d6917e009?mType=Group (汉化)