当前位置: 首页 > news >正文

一起玩树莓派3+使用Gitlab搭建专业Git服务

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
复制代码

相关文章:

  • Android Finalizing a Cursor that has not been deactivated or closed
  • 土耳其重大数据泄露事件 数据库安全受关注
  • 互联网分析师:5G距离我们还有多远?
  • oracle增加sequence
  • 藏在高端智能手机芯片里的“外交官”:射频前端
  • 哈尔滨工业大学校园网运营:开放兼容,灵活认证
  • js 获取中文的拼音
  • Wi-Fi新标准HaLow正面挑战ZigBee、Z-Wave
  • 物联网发展的六大智能化前景
  • 《嫌疑人X的献身》——两个天才之间的思想火花
  • 蓝牙曝出高危漏洞 你该怎么办?
  • 007的建议 让你的企业像军情六处一样安全
  • 互联网+智慧城市 开启智慧生活
  • AndroidManifest.xml文件安全探索
  • 外媒:那些最易受到攻击的常见设备
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • HTML5新特性总结
  • laravel5.5 视图共享数据
  • magento 货币换算
  • QQ浏览器x5内核的兼容性问题
  • Sass 快速入门教程
  • spark本地环境的搭建到运行第一个spark程序
  • storm drpc实例
  • Vim Clutch | 面向脚踏板编程……
  • 设计模式 开闭原则
  • 微服务入门【系列视频课程】
  • 在Unity中实现一个简单的消息管理器
  • ​Python 3 新特性:类型注解
  • #Spring-boot高级
  • $(function(){})与(function($){....})(jQuery)的区别
  • $forceUpdate()函数
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (超详细)语音信号处理之特征提取
  • (待修改)PyG安装步骤
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)认识微服务
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 回调、接口回调、 委托
  • .net对接阿里云CSB服务
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • @RestController注解的使用
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [C#基础]说说lock到底锁谁?
  • [C++]类和对象(中)
  • [CSDN首发]鱿鱼游戏的具体玩法详细介绍
  • [C语言]——内存函数
  • [EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件