设为首页 收藏本站
查看: 1544|回复: 0

[经验分享] Centos 安装 GitLab 8.5.1 版本管理

[复制链接]

尚未签到

发表于 2018-1-11 11:34:46 | 显示全部楼层 |阅读模式
  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 ,省去很多时间。他们也提供相关WIKI以ubuntu为演示环境,来安装这个包


1 . 服务端 安装Gitlab



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

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



2 . 服务端 启动Gitlab



./ctlscript.sh start


3 . 服务端 停止Gitlab



./ctlscript.sh stop

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



cd /opt
mv gitlab-8.5.1-0/ /data
ln -s /data/gitlab-8.5.1-0 gitlab-8.5.1-0
4. 服务端 设置防火墙



iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
cat /etc/sysconfig/iptables
5、浏览器访问:http://192.168.7.99/users/sign_in



6、新建一个项目



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中的内容拷贝出来粘贴到输入框中,保存。



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

7.2 初始上传代码


如果你已经使用过git了,那么这一步对你来说可以跳过了。整体来说比较简单的。

在提交代码前,还需要设置下git的用户名和邮箱(最好用英文,不要出现中文),这样提交记录才会在gitlab上显示带有你名字的记录。

在命令行窗口输入(windows需要安装打开Git Bash工具才行):




git config --global user.name"your_name"
git config --global user.email "your_email"

  下面的$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

  “git init”之后,如下图:

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

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


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

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

  由于远程库是空的,我们第一次推送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  


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



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参数了。
  给项目里的其他用户分配权限

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

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

  提交改变,如下图:

  服务器上面新创建的空仓库,请使用下面的方式创建新的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
  
  注意:创建简单的项目(Create a simple project),需要手工创建项目目录并在Location中指定,否则不需要指定到项目目录直接指到Git目录就可以。






  转:http://www.cnblogs.com/wintersun/p/3930900.html
  http://blog.cnbluebox.com/blog/2014/04/15/gitlabde-shi-yong/
  http://blog.csdn.net/huaishu/article/details/50475175
  http://www.jianshu.com/p/7a0d6917e009?mType=Group (汉化)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433882-1-1.html 上篇帖子: centos 7.2 安装gitlab汉化 下篇帖子: (转)CentOS下一键安装GitLab
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表