原文链接:http://www.cnblogs.com/wintersun/p/3930900.html
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为演示环境,来安装这个包,切换到root账户, 在终端运行:
./bitnami-gitlab-7.1.1-0-linux-x64-installer.run
出现向导,这个时安装就是傻瓜安装了
默认同时安装了GitLab CI, 后然配置Apache的端口,MySQL的端口,注意如果默认端口80, 3306有占用,需要修改。就不截图 了。
这个包默认会安装独立的MySQL,如果需要配置已有Mysql数据库,那么请手工逐个安装各个组件。安装完成后,服务就启动了。
配置OS自动启动:
sudo update-rc.d gitlab defaults 21
管理
管理员帐号登录后,有一个管理区,如下图:
在这里可以管理用户,项目,组,日志,消息,Hooks,后台job。 界面清晰,功能明确,在这儿不再详细描述。
使用
1 . 服务端 启动Gitlab
root@ubuntu:/opt/gitlab-7.1.1-0# ./ctlscript.sh start
140818 00:31:57 mysqld_safe Logging to '/opt/gitlab-7.1.1-0/mysql/data/mysqld.log'.
140818 00:31:57 mysqld_safe Starting mysqld.bin daemon with databases from /opt/gitlab-7.1.1-0/mysql/data
/opt/gitlab-7.1.1-0/mysql/scripts/ctl.sh : mysql started at port 3307
/opt/gitlab-7.1.1-0/redis/scripts/ctl.sh : redis started at port 6379
/opt/gitlab-7.1.1-0/apps/gitlab/scripts/sidekiq.sh : gitlab_sidekiq started
Session terminated, terminating shell... ...terminated.
/opt/gitlab-7.1.1-0/apps/gitlabci/scripts/sidekiq.sh : gitlabci_sidekiq started
/opt/gitlab-7.1.1-0/apps/gitlabci/scripts/runner.sh : gitlabci_runner started
Syntax OK
/opt/gitlab-7.1.1-0/apache2/scripts/ctl.sh : httpd started at port 81
:/opt/gitlab-7.1.1-0 是Gitlab的安装目录
也可以查看GUI管理控制台 ./manager-linux-x64.run
上面列出各个组件状态。
2 . 创建与Git项目初始化工作
我们的Apache webserver 之间安装于81端口,从客户端访问:
登录后,可创建三种级别的Projects:
增加项目参加成员:
登录Gitlab http://10.1.98.251 ,在profile中填写自己ssh-key,
记事本打开C:\Users\Administrator\.ssh \id_rsa.pub内容,copy到下面Key
对新建Git项目,初始化,第一个commit:
Git global setup(Git全局设置):
git config --global user.name "testman"
git config --global user.email "testman@hotmail.com"
Create Repository(创建仓库)
mkdir common-util
cd common-util
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@127.0.0.1:devteam/common-util.git
git push -u origin master
对于已存在Git项目:
cd existing_git_repo
git remote add origin git@127.0.0.1:devteam/common-util.git
git push -u origin master
进入本地git shell, 生成自己的ssh-key, 联系三个回车
ssh-keygen -t rsa
登录Gitlab,在profile中填写自己ssh-key,
记事本打开C:\Users\Administrator\.ssh \id_rsa.pub内容,copy到下面Key。
3. 使用相关用户名登录,可以看到Dashborad:
显示项目动态:
项目Commit明细:
4. 用Visual Studio 2013做客户端。
由于之前项目已经建好了,Visual Studio 2013里我们修改文件,点右键来Commit
然后在选择界面中,选择Commit,填写这次提交的信息,也可以Commit and push
提交以后,提示Commit cd900236在本地创建,Sync以共享到服务器
然后Sync, 这里点push 到服务端,第一次会提示您输入密码:
之后结果是: 成功推送1commit到origin/master分支
然后我们就把代码提交到Gitlab了,打开页面进入相关项目,可以看到刚才commit
GitLab CI
使用gitlab管理员账户登录后:
提供了基于持续集成的功能,有于API的访问。
上文是基于GitLab 7.1.1版本,由于时间变化,以后可能UI会变化。 又由于篇幅有限,今天简单介绍到这儿。更多可以参考:
MSDN : Using Visual Studio 2013 with Git
您可能感兴趣的文章:
相关推荐
### git版本管理规范 #### 概述 在软件开发过程中,版本控制是非常重要的环节之一,尤其是在团队合作的情况下。本文档旨在介绍一套适用于基础架构项目的git版本管理规范,以确保代码的版本控制流程清晰、高效。 #...
### GitLab 版本控制系统使用详解 ...通过以上介绍,我们了解到 GitLab 不仅是一个简单的版本控制系统,更是一个全面的项目管理和协作平台。无论是个人还是团队,都能够从中受益,提高开发效率和协作质量。
GitLab 版本管理服务 (gitlab-release-server)这是一个基于 GitLab Release API 来发布和管理 GitLab Releases 版本的服务。一、特性简单方便、轻量级,无数据库环境依赖,使用 MinIO 来维护版本资源;本服务基于 来...
总的来说,"Windows版本GitLab"作为源代码管理工具,与Spring Cloud Config Server结合,可以构建一个强大的微服务配置中心。相比于依赖于外部服务如GitHub,这种方式能提供更稳定、可控的解决方案,特别适合对数据...
它不仅支持版本控制,还集成了项目管理、CI/CD流水线等功能。其中,用户权限管理是GitLab的重要组成部分之一,能够帮助团队有效地控制项目的访问权限和操作权限。 #### 二、GitLab用户权限概述 GitLab中的用户权限...
在安装和配置Gitlab之前,需要首先安装Git,因为Git是版本管理的基础。Git是一种版本管理工具,它可以记录代码的每一次变化,以便在需要时可以回退到之前的版本。 接下来,我们将展示如何安装和配置Gitlab,包括...
GitLab 是一个开源的版本控制系统,它提供了与GitHub 类似的功能,但同时也包含了更多的企业级特性,如持续集成/持续部署(CI/CD)、代码审核、项目管理、安全漏洞检测等。GitLab v8.8.5 版本是该软件的一个历史版本,...
Gitlab是一个基于Git的分布式版本控制和源代码管理系统,它提供了Git仓库托管、问题追踪、持续集成和部署等多种功能,常用于团队协作开发。本手册将详细介绍Gitlab的使用规范和操作方法。 一、项目管理 项目是...
而GitLab作为Git的扩展平台,提供了丰富的源码管理功能,包括权限控制、版本备份、进度跟踪等,为团队协作提供了强大的支持。本文将详细阐述基于Git和GitLab的源码管理解决方案。 1. 宗旨 本解决方案旨在为软件...
禅道和GitLab分别是项目管理与版本控制系统中的重要工具,本文将详细介绍如何安装这两个应用程序,以便团队能够进行高效的开发交流、查看项目进度以及协同工作。 禅道是一款开源的项目管理软件,它集成了需求管理、...
综上所述,GitLab 作为源码管理工具,不仅解决了传统源码管理中的诸多痛点,如权限控制复杂、版本管理不便、进度跟踪困难等问题,还提供了丰富的附加功能,如持续集成/持续部署(CI/CD)、代码审核和问题跟踪。...
本教程将深入探讨如何使用Python3结合GitLab API V4版本来批量创建GitLab仓库,这对于自动化运维、持续集成(CI/CD)流程或者大规模项目管理尤其有用。 首先,你需要安装`python-gitlab`库,它是一个Python封装的...
《基于Gitlab的代码管理规范》 在IT行业中,有效的代码管理对于项目的成功至关重要。Gitlab作为一个强大的版本控制系统,被众多大厂广泛应用。本文将详细介绍基于Gitlab的代码管理规范,涵盖账户管理、群组管理和...
GitLab是一个面向仓库管理系统(Repository Management System)的开源应用程序,它的主要作用是协助软件研发团队进行代码的版本控制、代码审查、问题追踪、持续集成和部署等。武鑫在演讲或文章中向我们介绍了GitLab...
结合实际情况编写的配置库管理及版本管理规范,配置库管理工具基于gitlab编写,分支策略采用git flow,定义了版本命名规则等
GitLab 是一个强大的开源版本控制系统,它允许用户创建和管理自托管的Git项目仓库,提供了类似于GitHub的功能。GitLab不仅支持代码版本控制,还具备项目管理、用户管理、权限设置等功能,适合企业和组织内部构建自己...
GitLab 是一个开源的版本管理系统,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。它提供了一个自托管的 Git 项目仓库,通过 Web 界面进行访问公开的或者私人项目。GitLab 能够浏览源代码,管理...
4. **Webhooks**:支持配置和管理GitLab项目的webhooks,当特定事件发生时(如push、merge request等),自动触发外部服务的回调。 5. **Merge Request**:可以创建、合并和管理Merge Request,这是GitLab中进行...
总的来说,使用Python3和`python-gitlab`库与GitLab API进行交互,可以帮助开发者有效地自动化GitLab平台的管理和监控工作。结合提供的`get-gitInfo.py`脚本,你将能够快速地获取和处理GitLab上的各种资源信息,从而...
Git是一款流行的版本控制工具,旨在帮助开发者更好地管理代码仓库。Git的使用非常广泛,包括创建仓库、添加文件、提交变更、创建分支、合并代码等。 Git的基本命令包括: * git init:创建一个新的Git仓库 * git ...