http://bbs.eeworld.com.cn/thread-505256-1-1.html

https://packages.gitlab.com/gitlab/raspberry-pi2

https://packages.gitlab.com/gitlab/raspberry-pi2/packages/raspbian/wheezy/gitlab-ce_8.17.7-ce.0_armhf.deb

<ignore_js_op>

Gitlab是一个专业的Git解决方案,功能强大,和Github类似,而且其Community Edition (CE)是免费的,完全可以胜任为中小团队提供专业代码托管服务的工作,当然更重要的是它可以在Raspberry Pi上部署运行。

准备

项目首页:https://about.gitlab.com
下载页:https://packages.gitlab.com/gitlab/raspberry-pi2
下载地址(打开页面,点击右上角的Download按钮):
https://packages.gitlab.com/gitlab/raspberry-pi2/packages/debian/jessie/gitlab-ce_8.13.0-ce.0_armhf.deb
下载得到gitlab-ce_8.13.0-ce.0_armhf.deb文件。
注意版本要选择jessie,也就是Debian 8,因为现在的Raspbian是基于它打造的。

官网给出了在线安装的方法,但是我试了几次,可能由于国内到Gitlab下载服务器之间的网络状况不好,很难在线安装成功。
国内的软件源即使有Gitlab的镜像,通常也没有支持Raspberry Pi架构的分支。

<ignore_js_op>

所以这里给出先下载安装包,然后离线安装到Raspberry Pi上的方法。

开始安装
先安装一些必要的依赖包:

  1. sudo apt-get install curl openssh-server ca-certificates postfix apt-transport-https

复制代码

安装postfix时,会弹出一些设置,这是和发邮件相关的,如果不需要邮件功能,这里的设置并不重要。

<ignore_js_op>
<ignore_js_op>

等待上述依赖包安装完成后,把之前下载的安装包gitlab-ce_8.13.0-ce.0_armhf.deb上传到Raspberry Pi的文件系统里。
正式安装deb包

  1. sudo dpkg -i gitlab-ce_8.13.0-ce.0_armhf.deb

复制代码

这个包有281MB,包含123034个文件,因此安装会有些慢,卡在下面这步是正常的,耐心等待一下。

<ignore_js_op>

安装完成提示信息:

<ignore_js_op>

根据提示,需要运行:

  1. sudo gitlab-ctl reconfigure

复制代码

看到如下提示就配置完成了

<ignore_js_op>

初始设置
管理员用户是root
首次登录后会要求修改密码(8位及以上)

<ignore_js_op>

在浏览器访问Raspberry Pi的IP,会跳转到设定密码的页面。

<ignore_js_op>

设定完成后,用新密码登录root用户。

<ignore_js_op>

这是管理员用户,只用它来添加普通用户,在普通用户里新建仓库来托管代码。
点击界面右上角的小扳手图标,进入Admin Area,这是管理员独有的区域。
在user里新建一个普通用户

注意初始的Projects limit只有10,只能创建10个projects。如果觉得不够用,可以放宽一点限制。

<ignore_js_op>

普通用户的密码会发送到邮箱,如果之前邮箱没配置好,可能会收不到,或者如果是内网使用,邮件也无法发出。这个问题可以这样解决:

<ignore_js_op>

管理员里可以用管理权限修改这个用户的密码,改完后告诉该用户这个密码,该用户在首次登录后,会被提示设置一个新密码。
如果以后使用时该用户忘记了密码,管理员也可以登录Admin Area重置。
这样就不需要邮件来重置密码,缺点是需要管理员介入,对于中小团队这样的管理方法是可取的(可以由项目组织者充当管理员)。
另外在Admin Area界面右侧有个齿轮形状的图标,点击这里可以修改一些全局设定(包括前面初始的Projects limit等), 根据提示修改就行了。

<ignore_js_op>

修改服务端口
默认使用80端口,如果需要修改,可以修改/etc/gitlab/gitlab.rb中如下图的2处地方,比如这样就修改成了7000端口。

<ignore_js_op>
<ignore_js_op>

两个地方都要修改。
注意保存文件后,要运行如下命令使得配置生效:

  1. sudo gitlab-ctl reconfigure

复制代码

<ignore_js_op>

可以看到能使用7000端口访问了,Project path也是正确的。

一些实用的维护命令
修改任何配置文件后都要输入如下命令使配置生效。

  1. sudo gitlab-ctl reconfigure

复制代码

页面缓存清除:

  1. sudo gitlab-rake cache:clear RAILS_ENV=production

复制代码

Gitlab各组件启动:

  1. sudo gitlab-ctl start

复制代码

Gitlab各组件停止:

  1. sudo gitlab-ctl stop

复制代码

Gitlab各组件重启:

  1. sudo gitlab-ctl restart

复制代码

禁用Gitlab开机自启动:

  1. sudo systemctl disable gitlab-runsvdir

复制代码

启用Gitlab开机自启动:

  1. sudo systemctl enable gitlab-runsvdir

复制代码

一起玩树莓派3+使用Gitlab搭建专业Git服务的更多相关文章

  1. Docker+Gogs搭建个人Git服务

    欢迎 经常使用Github的我,Github它功能强大,操作简单,不用FQ,所以大家会使用Github进行代码托管,但是,Github的私仓收费的,而且对于普通个人用户来说,价格也不便宜.很多人搭建自 ...

  2. 通过用户名、密码提交的方式搭建私有git服务端

    1. 系统环境 centos git yum -y install git 2).创建属于自己的git库 mkdir /myGit git init --bare xiangyun.git 3). 添 ...

  3. 搭建企业git代码版本管理所需工具

    此片文章纯属记录一下使用gitlab搭建私有git版本管理的一些工具及概念. 先记录一下概念 git         是一种版本控制系统,是一个命令,是一种工具 github   是一个基于git实现 ...

  4. Docker系列——利用gogs搭建属于自己的git服务

    gogs简介 Gogs的目标是打造一个最简单.最快速和最轻松的方式搭建自助Git服务.使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台,包括 Linux.Mac O ...

  5. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器

    简介 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关 ...

  6. CentOS 7.x上gitlab搭建教程(https可用,邮件可用)

    目录 知识要求 搭建感想 搭建过程 参考 知识要求: nginx基础知识 搭建感想 注:以下是我搭建gitlab时的思考,需要nginx的基础知识,Docker的基础知识才容易理解,与下面的搭建过程是 ...

  7. 树莓派之web服务器搭建

    树莓派之web服务器搭建 (一)使用ufw创建防火墙 设置目的:可以完全阻止对树莓派的访问也可以用来配置通过防火墙对特点程序的访问.使用防火墙更好的保护树莓派. 准备工作 1.带有5V电源的树莓派 2 ...

  8. 用GitLab搭建自己的私有GitHub

    相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一 本周有个朋友公司需要一个类似github的代码仓库管理系统,本人 ...

  9. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

随机推荐

  1. WCF4.0安装 NET.TCP启用及常见问题

    WCF4.0安装及NET.TCP启用 WCF 4.0 一般默认安装.net Framework 4.0的时候已经安装. 但如果先装.net framework 4.0,后装IIS,就会出现问题.需要重 ...

  2. Jenkins2.138配置slave节点时,启动方法只有两个选项

    Jenkins2.138配置slave节点时,启动方法只有两个选项,并没有通过javaweb代理启动这个选项 解决办法 全局安全配置->代理->选择随机选取

  3. Win10环境下Redis和Redis desktop manager 安装

    1.Redis的下载地址: https://github.com/MicrosoftArchive/redis/releases/download/win-3.2.100/Redis-x64-3.2. ...

  4. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持“variant”数据类型。

    mybatis执行sqlserver的sql报错 com.microsoft.sqlserver.jdbc.SQLServerException: 不支持“variant”数据类型. at com.m ...

  5. ajax+json+ashx实现一个页面多个tab的分页

    1:项目功能需求:我的荣誉.审核中的荣誉.审核通过的荣誉在一个页面分别作列表展示.每个tab都需要分页,对实现的功能做个简单总结. 2:前台页面:引用的DBPage.js和pageCss.css实现分 ...

  6. gulp快速将css中的px替换成rem

    1.Gulp安装配置 1.全局安装gulp 1.1 安装 命令提示符执行cnpm install gulp -g; 1.2 查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装. 2 ...

  7. redux-devtools的使用

    1.浏览器里安装redux-devtools 2.在项目的入口文件里  找到 createStore函数调用的地方,给它加第二个参数 window.__REDUX_DEVTOOLS_EXTENSION ...

  8. QQ 聊天机器人小薇 2.1.0 发布!

    本次发布加入了支持茉莉机器人,并且更容易搭建开发环境,在线显示登录二维码~ 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 QQ 群消息 ...

  9. Android 简单图片浏览器 读取sdcard图片+形成缩略图+Gallery

    1.读取SD卡上面的图片信息 //想要的返回值所在的列 String[] projection = { MediaStore.Images.Thumbnails._ID}; //图片信息存储在 and ...

  10. 微信小程序-02-项目文件之间配合和调用关系

    微信小程序-02-项目文件之间配合和调用关系 我就不说那么多了,我是从官方文档拷贝的,然后加上一些自己的笔记,不喜勿喷 官方文档:https://developers.weixin.qq.com/mi ...