中局域网LAN中建立局域网可访问的类GitHub的服务器

There are several ways to do this

  1. Host internal repositories like Gitlab (free software) or Stash. This will be similar to services like BitBucket or GitHub
  2. If you want to have a simple service with SSH authentication - user3159253 has already answered that
  3. A very bare bones way is
    1. Create a bare repository - example git init . --bare
    2. Start the git daemon - example git daemon --base-path=<absolute full path to git repo
    3. Add that repo as git remote add RepoName git://your.local.host.name/myrepo or clone git clone git://your.local.host.name/myrepo/
  • Gitlab:代码托管
  • Gerrit:Code Review
  • Jenkins:代码测试

    一开始测试使用了 Gitorious 来做代码的托管,发现界面的功能不全,比较蛋疼。虽然 Gerrit 本身有代码托管功能,Gerrit 的界面不敢恭维、也没有 Gitlab 的功能强大。so …

决定使用 Gitlab 还有一点重要原因就是它本身提供保护分支的功能,可以达到 Review 效果。这样和 Gerrit 结合的话,可以针对不同的用户群来分配 Review 方式。

  1. 强制 Review:在 Gitlab 上创建的项目,指定相关用户只有 Reporter 权限,这样用户没有权限使用 git push 功能,只能 git review 到 Gerrit 系统上,Jenkins 在监听 Gerrit 上的项目事件会触发构建任务来测试代码,Jenkins 把测试结果通过 ssh gerrit 个这个项目打上 Verified 成功或失败标记,成功通知其它人员 Review。

  2. Gitlab 保护 Master 分支:在 Gitlab 上创建的项目可以把 Master 分支保护起来,普通用户可以自己创建分支并提交代码到自己的分支上,没有权限直接提交到 Master 分支,用户最后提交申请把自己的分支 Merge 到 Master,管理员收到 Merge 请求后,Review 后选择是否合并。

  3. gitlab有很多依赖,而bitnami制作了一键安装的包,下载链接:https://bitnami.com/redirect/to/37478/bitnami-gitlab-7.0.0-0-linux-installer.run ,使得安装如此简洁。
原文地址:https://www.cnblogs.com/welhzh/p/4286471.html