找回密码
 立即注册
搜索
查看: 6967|回复: 22

[软件] 问一下 有哪位同学成功配置好Gitlab的么? 快崩溃了

[复制链接]
发表于 2015-5-6 15:42 | 显示全部楼层 |阅读模式
本帖最后由 dahuatttt 于 2015-5-8 18:04 编辑

问题简直一波一波的
最开始想简单点 下了个bitnami打包好的虚拟机 遇到了很多问题 放弃
于是乎按照gitlab官网的指导 在我的centos6.4上安装完毕 接下来又是噩梦...

首先是没法用服务器ip来代替域名 因为gitlab.rb文件中external_url不能为空,想用ip的话只能写死 external_url = "http://xxx.xxx.xxx.xxx" 这样带来的直接问题就是服务器如果换了ip 就必须重新设置这个文件。我认了。。。
然后是smtp设置问题 网上所有方案测试过了无效(问这个问题的人还相当的多) 新用户自行注册以及用户密码找回功能全部无效。我也认了,用管理员账号手动添加用户和修改密码了。
现在遇到个最不能容忍的问题:
git操作时使用http方式连接版本库 最开始会问一次帐号密码 接下来在本地修改git里保存的个人信息(名字和邮箱) 再进行push,gitlab的提交历史里新提交的就不再是账密对应的人,而是git里设置的人,等于说我用自己的号登一下版本库 再把本地信息改成另一个人的信息进行提交操作 那么服务器上显示的提交历史全都是另一个人的了!!!随便就能诬陷别人了阿!
于是我想换ssh的方式看看有什么区别不,结果一直都是connection refused,已经确认iptable中22口放行着 sshd服务也开着。3天了!!!求大神佛光普照!


更新:
楼下给出了我的一些总结 感谢各位的帮助!
回复

使用道具 举报

发表于 2015-5-6 16:09 | 显示全部楼层
external 这个建议搞个免费域名或 hosts,smtp 没试过(扔垃圾邮箱可以忍)
关于 git 嘛。。。一定要在本地 git config --global 好自己的邮箱,因为 git 在设计上就是允许你使用别人邮箱提交的。

我用 gitlab 遇到的坑是因为我自己装过 nginx,不过配起来也不是十分的困难啦……
回复

使用道具 举报

 楼主| 发表于 2015-5-6 16:17 | 显示全部楼层
kiritome 发表于 2015-5-6 16:09
external 这个建议搞个免费域名或 hosts,smtp 没试过(扔垃圾邮箱可以忍)
关于 git 嘛。。。一定 ...

终于等到了回复
因为是局域网里使用 所以不想弄域名 弄了就会更加麻烦。。。

现在ssh服务就像根本没启动一样 不能理解。
回复

使用道具 举报

发表于 2015-5-6 16:22 | 显示全部楼层
dahuatttt 发表于 2015-5-6 16:17
终于等到了回复
因为是局域网里使用 所以不想弄域名 弄了就会更加麻烦。。。

如果是这样的话,如果是你控制局域网,给自己的 MAC 地址一个静态地址
如果不是的话,可以写一个脚本包装 gitlab-ctl,在启动前自动改 gitlab.rb
回复

使用道具 举报

发表于 2015-5-6 16:24 | 显示全部楼层
本帖最后由 iluso 于 2015-5-6 16:29 编辑

我试了一周没成功,然后直接下了配好的完整环境

GITLAB VM虚拟机: https://bitnami.com/stack/gitlab/virtual-machine

UBUNTU下的集成安装包: https://bitnami.com/stack/gitlab/installer
别自己折腾了。

回复

使用道具 举报

 楼主| 发表于 2015-5-6 16:27 | 显示全部楼层
kiritome 发表于 2015-5-6 16:22
如果是这样的话,如果是你控制局域网,给自己的 MAC 地址一个静态地址
如果不是的话,可以写一个脚 ...

我现在连linux业余使用者都算不上。。。所以 能忍的就忍了 写脚本什么的
回复

使用道具 举报

     
发表于 2015-5-6 16:28 | 显示全部楼层
git就是这样的..服务器权限验证和committer本身没关系
不想被仿冒可以每个commit加签名
回复

使用道具 举报

 楼主| 发表于 2015-5-6 16:28 | 显示全部楼层
iluso 发表于 2015-5-6 16:24
我试了一周没成功,然后直接下了配好的完整环境

GITLAB VM虚拟机: https://bitnami.com/stack/gitlab/vir ...

我就是bitnami遇到了问题更加没法解决才自己装的。。。。。
回复

使用道具 举报

发表于 2015-5-6 16:30 | 显示全部楼层
dahuatttt 发表于 2015-5-6 16:28
我就是bitnami遇到了问题更加没法解决才自己装的。。。。。

用跟他家的虚拟机一样的操作系统版本安装即可,即unbuntu 14.04
我在unbuntu 11.04 和 debian试了一样遇到了点小问题。
回复

使用道具 举报

 楼主| 发表于 2015-5-6 16:32 | 显示全部楼层
iluso 发表于 2015-5-6 16:30
用跟他家的虚拟机一样的操作系统版本安装即可,即unbuntu 14.04
我在unbuntu 11.04 和 debian试了一样遇 ...

好的 我现在就下一个试试 剩下的时间不多了。。。
回复

使用道具 举报

发表于 2015-5-7 04:13 | 显示全部楼层
只配过gitolite+cgit、另外还配过mediawiki和bugzilla,感觉加起来都没这么复杂啊……
自用的话不行就换方案好了。
回复

使用道具 举报

 楼主| 发表于 2015-5-7 09:34 | 显示全部楼层
鸡蛋灌饼 发表于 2015-5-7 04:13
只配过gitolite+cgit、另外还配过mediawiki和bugzilla,感觉加起来都没这么复杂啊……
自用的话不行就换方 ...

感觉还是脱离了gitolite的gitlab可能更简单点。。
回复

使用道具 举报

 楼主| 发表于 2015-5-7 09:56 | 显示全部楼层
iluso 发表于 2015-5-6 16:24
我试了一周没成功,然后直接下了配好的完整环境

GITLAB VM虚拟机: https://bitnami.com/stack/gitlab/vir ...

下载了bitnami-gitlab-7.10.1-0-linux-x64-installer.run 运行后解压出几个pr2文件。打开pr2时候说不支持parchive归档文件 0.0
回复

使用道具 举报

发表于 2015-5-7 10:58 | 显示全部楼层
dahuatttt 发表于 2015-5-7 09:56
下载了bitnami-gitlab-7.10.1-0-linux-x64-installer.run 运行后解压出几个pr2文件。打开pr2时候说不支持p ...

能给出日志吗?理论上运行 xxx.run 后无脑回车就安装完成了,不存在解压步骤。

> chmod 755 bitnami-gitlab-7.10.1-0-linux-x64-installer.run
> ./bitnami-gitlab-7.10.1-0-linux-x64-installer.run
回复

使用道具 举报

 楼主| 发表于 2015-5-7 11:14 | 显示全部楼层
iluso 发表于 2015-5-7 10:58
能给出日志吗?理论上运行 xxx.run 后无脑回车就安装完成了,不存在解压步骤。

> chmod 755 bitnami-git ...

谢谢!找到问题了 没有修改755属性...
然后我发现 ubuntu的图形界面里找东西好难啊。。。安装时候说我没有ssh服务 然后半天没找到服务在哪里开。。。于是乎现在在centos里安装这个installer 进展中。。。
回复

使用道具 举报

发表于 2015-5-7 11:17 | 显示全部楼层
这个run在centos里估计会有问题,说不定后你还得切回来...
回复

使用道具 举报

 楼主| 发表于 2015-5-7 12:06 | 显示全部楼层
本帖最后由 dahuatttt 于 2015-5-7 12:21 编辑
iluso 发表于 2015-5-7 11:17
这个run在centos里估计会有问题,说不定后你还得切回来...

竟然能运行。。。因为centos里几个东西比较好找 也算是解决了

看了下installer把所有内容都安装到了一起 全都在opt下 感觉干净了很多
现在的问题是 每次在web做一些改动后他都会自动跳转到http://127.0.0.1/xxxx 相当于external_url被设置成http://127.0.0.1 ,可是gitlab.rb里external_url明明是另一个ip地址。。。
回复

使用道具 举报

发表于 2015-5-7 12:35 | 显示全部楼层
dahuatttt 发表于 2015-5-7 09:34
感觉还是脱离了gitolite的gitlab可能更简单点。。

你要是只用git的话绝对是gitolite更简单
至少不会出现你这种在域名上卡半天的情况……
回复

使用道具 举报

 楼主| 发表于 2015-5-7 12:48 | 显示全部楼层
鸡蛋灌饼 发表于 2015-5-7 12:35
你要是只用git的话绝对是gitolite更简单
至少不会出现你这种在域名上卡半天的情况…… ...

我看说明的时候 说是需要自己写一些内容 比如权限分配的时候需要自己手动改文件添加rw属性什么的 好像没有gui或者web管理平台。我之前基本没怎么摸过linux 很难适应。。。所以不得不放弃gitolite
回复

使用道具 举报

发表于 2015-5-7 12:56 | 显示全部楼层
dahuatttt 发表于 2015-5-7 12:06
竟然能运行。。。因为centos里几个东西比较好找 也算是解决了

看了下installer把所有内容都安装到了一起  ...

/opt/gitlab-*/apps/gitlab/htdocs/config/gitlab.yml

production: &base
  #
  # 1. GitLab app settings
  # ==========================

  ## GitLab settings
  gitlab:
    ## Web server settings
    host: mikumiku.com
    port: 80
    https: false
回复

使用道具 举报

 楼主| 发表于 2015-5-7 13:03 | 显示全部楼层
iluso 发表于 2015-5-7 12:56
/opt/gitlab-*/apps/gitlab/htdocs/config/gitlab.yml

production: &base

感谢前辈!!!
回复

使用道具 举报

 楼主| 发表于 2015-5-7 13:21 | 显示全部楼层
本帖最后由 dahuatttt 于 2015-5-7 13:35 编辑
iluso 发表于 2015-5-7 12:56
/opt/gitlab-*/apps/gitlab/htdocs/config/gitlab.yml

production: &base

功能上都算搞定了 搞不定的也就算了 比如smtp什么的。。。

现在就剩下2个问题
1. 无法解决冒名提交问题 即便使用ssh key (大概真的不能解决的样子?)
2. 怎么关闭http提交方式 只留下ssh方式提交

看了官方文档 bitnami下的备份好像有点不同 不能做到定时备份? 必须手动 停止所有服务 --> 备份 --> 启动服务
而且还是 installdir的备份 0.0 相当于把整个bitnami的环境给备份了? 这得多大!!!

谢谢
回复

使用道具 举报

 楼主| 发表于 2015-5-8 18:03 | 显示全部楼层
感谢LS几位前辈的帮助 现在我的gitlab基本可以工作了 虽然仍然有一大堆问题在。。 这里贴出我的一些总结 让后来者可以缩短一些摸索时间(以天为单位!!!) 因为不能贴图 所以有些地方可能很奇怪 见谅

使用CentOs 推荐6.x 7.x 带GUI的版本
下载Bitnami Gitlab installer安装包 注意32/64位

安装CentOs 注意磁盘空间分配不要太小 因为系统和bitnami installer安装完就要占用8G空间
打开iptables/防火墙 开放web ssh的端口
打开服务 启动sshd服务

某些情况下可能需要设置一个固定ip 而不能用dhcp

把installer包(xxx.run文件)拷贝进系统
首先修改run文件的属性 参照 https://bitnami.com/stack/gitlab/README.txt
chmod 755 bitnami-gitlab-xxxxxxx-linux.run
然后双击安装 需要等待一会才会跳出界面 如果出现的是解压而不是安装 应该是属性不对
安装中可以设置smtp 但是我没有成功收到过邮件 原因不明
默认安装在 /opt/gitlab-xxxx 路径 安装完毕会出现这个界面

一些修改:
修改host 参照 https://wiki.bitnami.com/Applications/BitNami_GitLab
If you want, you can configure it manually. These are the configuration options that you should modify in the "/opt/bitnami/apps/gitlab/htdocs/config/gitlab.yml" file:
host: YOUR_DOMAIN
把 这里的 YOUR_DOMAIN 改成服务器ip地址
Then restart Apache server
单独重启 Apache服务

关闭用户注册
admin area界面  左边menu里选择最下面的那个设置 右边界面去掉sign up的勾勾
这样做是为了 只能让管理员手动添加帐户

备份 恢复
bitnami官方的: https://wiki.bitnami.com/Applications/BitNami_GitLab
貌似是整个运行环境(程序和数据)的全备份 没有意义
gitlab官方的: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md

推荐用我测试测试通过的方法: http://devzc.com/m/?post=438
使用use_gitlab 完美完成备份和恢复
原文如下(下划线为我的补充):
----------begin-----------
重要说明: 至少要保证mysql是处于运行中才可以 否则会出现数据库连接错误
另外就是为了防止升级后不兼容导致不能恢复 应该把当前正在使用的版本做好保存 尤其是操作系统和bitnami installer(.run文件)
没有做定时备份的话应该定期备份一下 比如每天一次。。。


假定gitlab安装路径为: /opt/gitlab-6.4.3-1/
全程以root用户操作
1.设定备份目录:
/opt/gitlab-6.4.3-1/apps/gitlab/htdocs/config/gitlab.yml
其实可以不用修改 使用默认的tmp/backups 具体目录是 /opt/gitlab-xxxx/apps/gitlab/htdocs/tmp/backups/
2.备份:
有些时候会报错: You have already activated rake 0.9.2.2,but our Gemfile requires rake 10.1.0,Using bundle exec may solve this.
原因是默认的path路径不对,需要执行下bitnami自带的环境变量设置脚本: use_gitlab 即可解决。
没遇到过 不清楚在说什么

下面是备份用到的完整命令:
cd /opt/gitlab-6.4.3-1/
./use_gitlab
cd /opt/gitlab-6.4.3-1/apps/gitlab/htdocs
bundle exec bin/rake gitlab:backup:create RAILS_ENV=production

3.恢复:
恢复的时候需要用到backups这个文件夹 但是新安装好的环境没有这个文件夹 推荐先做一次备份操作让他自动生成这个文件夹然后再进行恢复操作
BACKUP=timestamp_of_backup  #(required if more than one backup exists):
下面是恢复用到的完整命令:
cd /opt/gitlab-6.4.3-1/
./use_gitlab
cd /opt/gitlab-6.4.3-1/apps/gitlab/htdocs
bundle exec bin/rake  gitlab:backup:restore RAILS_ENV=production   BACKUP=1405247282
如果backups里面没有其他文件 可以不添加backup=xxx这个参数
chown git:git -R /opt/gitlab-6.4.3-1/apps/gitlab/repositories
这个命令必须 否则git这个用户账号不能访问repositories这个目录 会引发git操作相关的所有问题

另外 恢复之后做git操作可能会出现如下错误
/opt/gitlab-7.10.1-0/ruby/lib/ruby/2.0.0/logger.rb:594:in `initialize': Permission denied - /opt/gitlab-7.10.1-0/apps/gitlab/gitlab-shell/gitlab-shell.log (Errno::EACCES)
原因是gitlab-shell.log这个文件的所有权或读写权里没有git这个用户 需要手动修改
查看文件权限的方法: ls -l
修改这个文件权限: chown git:git gitlab-shell.log


下面这段没测试过不清楚
4.crontab定时备份脚本参考:
use_gitlab使用了exec,脚本会重新打开一个进程,没有上下文,所以需要单独提出path.
脚本需要使用root账户运行。脚本包含了rsync远程同步到nas相应目录中,按照自己实际修改即可(预先生成ssh证书,免密码登录)。

#!/bin/bash

if [ `id -u` -ne 0 ];then
   echo "this backup script must be exec as root."
   exit
fi
date
PATH="/opt/gitlab-6.4.3-1/apps/gitlabci/gitlabci-runner/bin:/opt/gitlab-6.4.3-1/apps/gitlab/gitlab-shell/bin:/opt/gitlab-6.4.3-1/redis/bin:/opt/gitlab-6.4.3-1/sqlite/bin:/opt/gitlab-6.4.3-1/python/bin:/opt/gitlab-6.4.3-1/perl/bin:/opt/gitlab-6.4.3-1/git/bin:/opt/gitlab-6.4.3-1/ruby/bin:/opt/gitlab-6.4.3-1/mysql/bin:/opt/gitlab-6.4.3-1/apache2/bin:/opt/gitlab-6.4.3-1/common/bin:$PATH"

echo "backup gitlab to local storage begin.. "

cd /opt/gitlab-6.4.3-1/apps/gitlab/htdocs

bundle exec bin/rake gitlab:backup:create RAILS_ENV=production

echo "rsync  -avzP  --delete  /data/backups_gitlab xxx@xxx.com:/mnt/disk1/docs/rsync_gitlab_backup"
rsync  -avzP  --delete  /data/backups_gitlab  xxx@xxx.com:/mnt/disk1/docs/rsync_gitlab_backup/

date
echo "this job is end."
----------end-----------

其他补充:
gitlab多人协同工作
http://herry2013git.blog.163.com/blog/static/219568011201341111240751/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-8-27 16:51 , Processed in 0.238442 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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