Git Gitlab 怎么配置这么麻烦

zealinux · 2013年05月28日 · 最后由 modacker 回复于 2014年03月13日 · 10676 次阅读

https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

第一次见到配置安装这么长的文档。

可否有更简单的方法和文档。

另外,感觉用 sudo 有点过了。

同感。用过基本配好的 vbox 版本,但也折腾了很久。 果断放弃,直接用 git init --bare 算了。

感觉还好,了解每一部分干吗的以后其实也就那么回事。

这份 installation 主要面向的是大众,不是 Ruby 程序员。

所以绝大部分篇幅都是在教怎么安装 Ruby, Bundler, Ngnix, init script 之类的...

如果你已经是 Ruby 程序员了,有过 Rails 程序的部署经验.. 应该能分辨哪些是重要内容。

可以换个标题:Rails 程序为什么部署这么麻烦.. ( 确实比 LAMP 麻烦多了..

#3 楼 @Saito

Quick start

$ git clone path/to/repository
$ cd repository
$ source bin/setup-env
$ su -c "yum install $BINARY_REQUIREMENTS"
$ reset-environment
$ supervisord
$ firefox 'http://127.0.0.1:8000/'

#3 楼 @Saito LAMP 才是真麻烦,好不好

#4 楼 @bhuztez

https://github.com/gitlabhq/gitlab-recipes

这其实是最累的。维护一份 installation 对于开发着轻松多了。文档解释了都做了什么事,然后大家别的系统自己研究去吧。

#5 楼 @bhuztez +1 看似 lamp 简单,那是最简单的干不了啥事的 php,要加个扩展啥的也就标准的 memcache、mysql 之类的好装点,其它的巨难装 要不你就啥都从源码编译吧

bundle 是目前最好的包管理系统之一

#6 楼 @Saito socket 放 home 目录下

upstream gitlab {
  server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket;
}

目测没发现下面这两行

proxy_buffering off;
proxy_cache off;

你可以去死了

@Saito 我在想,gitlab 也是个 rails,那么安装和我们普通的服务器部署差别在哪里。 另外,ruby 程序员的,已经安装上 RVM,ruby,rails,这些基本的东西。以及已经有 linux 下一些 user 了。 应该从这里开始。

#8 楼 @bhuztez 请不要随便使用“你可以去死了”这样的话语,令人反感,对讨论无益,两天内已经看到两次了。

#8 楼 @bhuztez 安全方面的知识确实 SA 更专业..

#11 楼 @Saito 不仅仅是安全问题啊,你的 recipe 一点用都没有,能直接复制的就没几行,装的人还得自己全写一遍好不好 ...

#12 楼 @bhuztez 我现在倾向于对部署不在行的人直接在 http://bitnami.com/ 上整一发算了。

浪费时间的事让别人替你代劳就好了。

#5 楼 @bhuztez #7 楼 @leopku LAMP 还能装好 PHP5.. 不添加 Source, 你能 apt-get 到哪怕一个 Ruby 1.9.3 吗?

#14 楼 @Saito PHP 要改各种配置啊,还有 suhosin,su-php/spawn-fcgi/php-fpm 什么的

#13 楼 @Saito 不是啊。

设置好开发环境才需要 step-by-step 的 guide,这个最多就 10 步

正式部署需要的是 requirements,也就是说你配置成什么样,程序才能运行。

#15 楼 @bhuztez 这个就深了,真正大公司生产环境。不管是什么语言环境。都是大量定制的...

Taobao 整个 stack 都被整过一发了,Linux Nginx JVM 都有在用自己定制的.. 我相信网易也应该是差不多的..

LAMP 装好的至少能跑.. 你这个 Ruby 环境什么都不能干才是问题的关键。

#16 楼 @bhuztez 有啊。rake gitlab:check 告诉你还缺什么。

#17 楼 @Saito

LAMP 装好的至少能跑

能跑和敢跑是两回事

你这个 Ruby 环境什么都不能干才是问题的关键。

都能定制了,自己打包 Ruby 都不会?

#14 楼 @Saito php5 你试过装一些不常用的插件吗?除了源码编译没啥好办法 pecl 之类维护离 gem 包的维护差远了

这也就导致了,要用 php 里复用使用的扩展除了 mysql、memcache、gd 等有限的几个之外,其它的都得你自己整!

所以,php 跟 ruby 包最大的差别就是 php 开始容易后面自己动手的多;ruby 是开始复杂点后面想省事的话可以有 N 种省事

#13 楼 @Saito 这个要 re 很多事是专业 SA 干的 某些人要么把自己提升到专业 SA 的标准,要么请专业 SA 来帮你干活 否则,不要开口就拿专业 SA 的标准要求自己或别人

#21 楼 @bhuztez 有 Ruby 环境之后,安装好 Gem. 跑一下 rake gitlab:check 就知道是不是可以跑的。就是 requirements.

#23 楼 @Saito 你怎么知道我 nginx 怎么配的,或者说你怎么知道我用的是 nginx?

#24 楼 @bhuztez 这是检查应用本身的。不检查整个 Stack... Nginx 什么的都是默认你自己配好的... Gitlab 要跑起来不需要 Nginx . 不是必备项啊。

#25 楼 @Saito 所以你没有提供 requirements

#26 楼 @bhuztez requirements 就是 ruby stack + gitlab:check .. 以前有 gitolite, 现在没了..

所以 installation.md 前面都在说明怎么安装 ruby stack.. 后面反复提到要 gitlab:check. 还要 double check. 最后给出一段额外的 init script + nginx 配置让你跑的更好,我觉得已经很完整了..

#27 楼 @Saito

所以 installation.md 前面都在说明怎么安装 ruby stack..

所以这才很糟糕嘛。

不要告诉我HOW to,告诉我WHAT is required

#28 楼 @bhuztez 面向人群问题吧。

很多人靠着这份 installation.md 装好了 Gitlab.

不专业的人你告诉他需要 Ruby, 他根本装不好,issues 就像雪片一样飞来了.. 这种事又不是没发生过..

#30 楼 @Saito 以前 gitolite 不知道坑死多少人的爹.. 一半 issues 都是跟它有关的。

#30 楼 @Saito 不是说不该有HOW to,而是说更需要的是WHAT is required

假如你只给HOW to,我不得不按你这样做一遍,之后再来猜WHAT is required,要猜就够恶心了,整页sudo就真无语了。

最最简单的情形,你应该告诉我的是,

需要之前提到的xxxx环境,以xxxx参数,启动一个进程,这个进程会监听xxxx.socket,需要把反向代理指到这个socket

而不是

sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo chmod +x /etc/init.d/gitlab
sudo update-rc.d gitlab defaults 21

sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

requirements 是个坏词,我刚才说的 requirements,和你 gitlab 写的 requirements 不是指同一个东西

#32 楼 @bhuztez https://github.com/gitlabhq/gitlabhq#requirements 结合这个看吧..

How to 还是得看的,可以跳着看。

#32 楼 @bhuztez 好吧,懂了。主要是造成了高端用户的困扰... 太冗长了,而且写的不对.. 但又不得不看,所以不专业的就别写这个文档,告诉我需要什么就行了..

嗯,这也是术业有专攻的例子.. 挺好的..

好吧,都别抱怨了... Gitlab 要被打包进 Fedora 了...

https://twitter.com/_axil/status/339099150614421504

#35 楼 @Saito yum install gitlab?

#36 楼 @zgm 嗯,不过还得几个月。

#35 楼 @Saito nice! 啥时候 aptitude install gitlabhq 啊

#39 楼 @leopku 很早就有人搞过了,后来因为更新太快.. 打包的人跟不上就烂尾了...

看来是没看到过安装复杂的么?

有过 ruby 项目部署经验,部署 gitlab 本体倒不坑爹...不过搞 gitolite 花的时间比较多

@Saito@bhuztez 说的,文档里给出的部署方案并不算最优的...如果要说傻瓜的话... https://github.com/mattias-ohlsson/gitlab-installer 这样的傻瓜 shell 就挺好~

#42 楼 @jasl gitlab 5 以后就不依赖 gitolite 了

可以用 bitnami.com 中的 stack。很快就弄好了。。

#43 楼 @jasl #45 楼 @changwu 你们的方案我在前面都提过了... 不认真看帖就回帖的银...

#40 楼 @Saito 好多开源软件是自己会提供一个 rpm 源和 apt 源 不知道以后你们会不会提供。 要求有点高,哈哈。

其实,打包脚本弄好了,自动化编译生成包就 okay 了,不至于烂尾啊。

#44 楼 @ericguo 现在 gitlab 很好部署了吧,而且升级和部署用的 task 编的比较只能,基本无压力,其实说到底还是部署 rails 的知识,另外那个 init.d 脚本对于不懂 sh 的挺有学习价值

安装是有点麻烦,但好歹按照文档一步步来总能搞定,如果对文档有什么不满意的,有本事写个更好的你去贡献啊

scm-manager 也可以试试,很方便的

#13 楼 @Saito 看到这句话我笑了

just download, click next-next-next and you are done!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号