在公司的一台闲置电脑上装了ubuntu15.04,准备配置一个git服务器用来给公司内部备份项目。
1.安装脚本执行进入假死状态。
在gitlab官网下载的自动安装脚本执行后进入了假死状态。中断运行后我查看了脚步的内容,发现只是获取系统发行版合成一个
软件源地址添加到apt里。经验告诉我这种外国web地址在我大中华都不怎么好使。于是去查看了apt里添加的软件源地址。
用浏览器打开那个地址直接找不到。然后向上层后退到可以查看的地方,发现gitlab的官方软件源只支持到了ubuntu1404.而自动安装脚本合成的地址是1504的代号所以脚本一直是处于连接超时重试的状态。
问题找到,手动改apt软件源地址里的代号到1404的。update成功。但是apt下载gitlab-ce仍旧速度很慢。于是再次打开刚刚查看的页面,拷贝下载地址放到uget里面下载。分分钟下载好的deb包安装完成。
2.gitlab-ctl reconfigure失败,gitlab-ctl status无任何输出。
安装deb完成后会自动执行reconfigure。当时就提示启动gitlab失败。我因为是第一次安装还不知道它在干什么。但是后来执行gitlab-ctl status发现无任何输出和网上的说的状态信息显然不一样,于是我随便搜ubuntu 1504 gitlab出来了和upstart相关的一些内容。然后我输入gitlab-ctl --help看看都有什么可用的选项。找到了gitlab-ctl tail这个用来看服务日志的。我是通过dmesg | tail这个常用的命令组合猜想到gitlab-ctl tail的功能的。
gitlab-ctl tail打印了它控制的几个服务的日志信息。我看到最后几条有个upstart相关的失败。
于是通过时空隧道搜索ubuntu 1504 gitlab了解到其它人遇到的类似问题。没有看到相关的解决办法但是我看到了问题的根源是ubuntu1504用了新的init进程systemd。于是我猜想是因为gitlab这个omnibus软件包是针对1404还是upstart启动的肯定是不能正确兼容systemd导致的。于是我又仔细看了tail的日志。看到了gitlab的许多配置都在/opt/gitlab目录下。
在这个目录下我用grep搜索upstart关键字找到了一个目录里面放着三种init进程的控制方式。其中一个default里面写的是
通过判定系统发行版来选择使用什么init进程的。我直接全局替换了所有upstart字符为systemd然后执行gitlab-ctl reconfigure成功了。
随后按照网上的一些教程配置了smtp服务,至此完成gitlab的安装。
安装GitLab出现ruby_block[supervise_redis_sleep] action run:http://www.linuxdiyf.com/linux/12128.html
ubuntu 15.04 gitlab出现initctl:unable to connect to Upstart:http://www.linuxdiyf.com/linux/11976.html
Ubuntu安装Gitlab:http://www.linuxdiyf.com/linux/1954.html