我正在使用带有 Apache 的树莓派(debian-wheezy),现在我想添加 gitlab。
为了测试,我在一个干净的 debian 操作系统上安装了 gitlab,一切都很顺利。在“实时”系统上,我也安装了 gitlab,但我坚持将 gitlab 设置为子目录/重定向。
我将我的相对网址设置为gitlab.rb
to /gitlab
。我试图设置到 gitlab 根目录的系统链接,但出现not found
错误。
我正在使用带有 Apache 的树莓派(debian-wheezy),现在我想添加 gitlab。
为了测试,我在一个干净的 debian 操作系统上安装了 gitlab,一切都很顺利。在“实时”系统上,我也安装了 gitlab,但我坚持将 gitlab 设置为子目录/重定向。
我将我的相对网址设置为gitlab.rb
to /gitlab
。我试图设置到 gitlab 根目录的系统链接,但出现not found
错误。
如果你想去安装 Gitlab,请阅读下面我更新的答案
哇,晚了 3 个月,但如果有人遇到这篇文章,这对我有用:
我在我的旧服务器设置上使用 Gitlab,但在 Pi 上我想要更轻的东西(它只有 1GB 的 RAM)。我找到了 Gogs,它的工作原理非常相似,而且安装实际上还不错,花了一段时间,但是是的。要让 Gogs 运行,您必须安装 Golang,这可能需要大约一个小时才能构建,因此请确保您有时间。
先安装 git 和 Mysql/PortegeSql。确保你已经安装了 apache 或 Nginx,你需要已经设置了 Git 全局,这样更容易。很多时间
让我们设置一些我们需要的包:
sudo apt-get install -y mercurial gcc libc6-dev
现在我们从 repo 克隆
hg clone -u default https://code.google.com/p/go $HOME/go
cd 进入并构建 GO
cd $HOME/go/src
./all.bash
这需要一段时间,所以去做点别的吧,哈哈
一旦完成,我们只需要将它添加到我们的 PATH
export PATH=$PATH:$HOME/go/bin
go version
如果您没有收到任何错误,我们就可以开始了!(哈哈)
现在安装 Gogs!
让我们创建一个目录,我们所有的存储库都将在其中,我的存储在外部设备上,因为我不想用完我的 Pi 上的空间。
sudo mkdir /mnt/MyDrive/Repos
sudo mkdir ~/gopath
给这些文件正确的权限
sudo chown $USER:$USER /mnt/MyDrive/Repos
sudo chown $USER:$USER ~/gopath
cd 进入主目录并设置系统路径:
cd ~
echo 'export GOROOT=$HOME/go' >> $HOME/.bashrc
echo 'export GOPATH=$HOME/gopath' >> $HOME/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc
source $HOME/.bashrc
让我们下载依赖项 n 东西
go get -u github.com/gogits/gogs
使用 git pull 从 repo 中获取所有文件。aaaand 建造!
cd $GOPATH/src/github.com/gogits/gogs
go build
这需要一点时间。一旦构建,请确保您使用 portegeSql 或 Mysql 为其创建数据库,我使用 mysql 因为我已经在我的系统上安装了它。
让我们将 repos 的根目录更改为我们之前创建的 repo 文件夹
sudo nano $GOPATH/src/github.com/gogits/gogs/custom/conf/app.ini
在里面我们添加
[repository]
ROOT = /mnt/MyDrive/Repos
你也可以从这里添加数据库配置,但你会从浏览器中完成,所以不需要。
让我们测试一下!
cd $GOPATH/src/github.com/gogits/gogs
./gogs web
如果您没有看到任何错误,那么您,我的朋友,就可以开始了!
另一件事。默认情况下,Gogs 使用端口 3000,在我的配置中,我使用我已经配置的 apache 网络服务器。设置完成后,使用方便的 dandy 浏览器和 headover 来yoursite.com:3000
获取 gogs 的配置。
我想就是这样。如果我错过了什么,请告诉我。
资料来源:
因此,经过一番头疼之后,我实际上设法在我的树莓派 pi2 模型 B 上安装了完整版的 Gitlab。
我会推荐它吗?不是真的大声笑,这东西是一只猪,它会占用你所有的内存......从字面上看......为什么要这样做?这是一个有趣的小实验,实际上组合起来并不难,因为 Gitlab 团队在从源代码编译时整理了一个非常好的教程......这不是为了装腔作势。
我实际上是从这里运行我的开发仓库 :) 到目前为止一切都很好,哈哈。
所以,我假设您使用的是 ubuntu 核心映像而不是 raspian。这里已经有一个用于 raspian 的包:Gitlab for raspian。如果您没有图片,这是我使用的:链接到 ubuntu 下载图片,这是该网站的 URL:https ://ubuntu-pi-flavour-maker.org/download/
因此,一旦您安装了映像并设置了用户帐户...
1-运行sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
以获取系统中所有内容的最新版本。
2-现在我们需要将系统扩展到整个 sd 卡,因为原始图像大小只有 2.something GBs。您可以按照史蒂夫·罗比拉德(Steve Robillard)的指示进行操作,这家伙知道他在说什么。
3-一旦完成,我们需要创建一些交换,1GB 的内存是不够的。您可以在此处按照这些说明进行操作。
我选择让我的交换 4GB,交换 60 和压力 50。阅读这些。
现在我们已经完成了所有简单的事情:https ://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md
确保你在开始破解之前阅读了整个指南,我打破了我的安装大约 3 次......它很糟糕。
当您进入第 3 步时,安装 Go lang。你需要在这里获取 armv6 tar.gz:https ://golang.org/dl/
并做:
curl --remote-name --progress LINK-TO-TAR.GZ
sudo tar -C /usr/local -xzf YOUR-TAR-FILE.tar.gz
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
接着:
rm YOUR-TAR-FILE.tar.gz
当你进入关于设置 Nginx 的部分时,请确保你不使用端口 8080,因为 unicorn 使用它,当你尝试访问它时 gitlab 会抛出一个错误页面。
此外,每当您更改 gitlab.yml 中的设置时,请确保您运行
sudo service gitlab restart
和
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
以便您的更改得到验证。
这需要很长时间,但我通过在这里和那里搜索和整理东西学到了很多东西。如果您有任何问题,请告诉我。
来源:
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04