在 Deepin 中搭建 GitLab
入职半个月了,一直在接受业务知识以及企业文化知识的培训,下周终于要开始上岗入手项目了。由于公司使用自己搭建的 GitLab 服务作为项目版本控制器,所以我决定学习一下 GitLab,由于这货跟 GitHub 都是基于 Git,所以代码管理方面没有啥区别,主要学习的是 GitLab 服务的搭建。
一、安装步骤
输入一下命令更新源,然后安装依赖 openssh-server
和 ca-certificates
。
- sudo apt-get update
- sudo apt-get install -y openssh-server ca-certificates
如果需要邮箱提醒服务,还需要安装 postfix
,当然你也可以安装其他邮件服务。
安装方法:
- sudo apt-get install -y postfix
如果没有配置过 postfix,那么安装过程中会跳出来配置选项。依次选择“Internet Site” => “确定” => 填入服务器域名 => “确定”。
安装 GitLab 包。
官网教程上面写的是使用 curl 下载一个 Shell 脚本,然后通过这个脚本安装 GitLab,但是实际上访问的时候,会提示 404 不存在的错误,所以此路不通。实际上访问 GitLab 官网的下载页面的时候,也是 404 不存在,不知道为什么官方人员还没有发现这个问题。
这里我使用的是手动安装,先去 GitLab 的 GitLab 仓库下载 deb 包(因为 Deepin 属于 Debian 系),然后通过 dpkg
命令进行安装。
这里最好选择社区版(gitlab-ce)。
下载之后可以有两种方法进行安装:
1.命令行安装
- sudo dpkg -i gitlab-ce_xx.x.x-ce.x_amd64.deb
效果如图:
2.右键 deb 包,然后在”打开方式“中选择“深度软件包管理器”就可以了,然后就可以开始安装。
安装之后开始配置 GitLab,使用 gedit 或者 vim 打开 /etc/gitlab/gitlab.rb
。然后修改 external_url
的值为你的本机ip,比如“127.0.0.1”。
然后重新配置 GitLab:
- sudo gitlab-ctl reconfigure
配置完成后通过下面命令查看 GitLab 的服务状况:
- sudo gitlab-ctl status
如果结果如下,则代表开启成功:
- ok: run: alertmanager: (pid 9288) 1s
- ok: run: gitaly: (pid 9297) 0s
- ok: run: gitlab-monitor: (pid 9311) 0s
- ok: run: gitlab-workhorse: (pid 9314) 1s
- ok: run: logrotate: (pid 9331) 0s
- ok: run: nginx: (pid 9337) 0s
- ok: run: node-exporter: (pid 9347) 0s
- ok: run: postgres-exporter: (pid 9349) 1s
- ok: run: postgresql: (pid 9362) 0s
- ok: run: prometheus: (pid 9364) 0s
- ok: run: redis: (pid 9403) 0s
- ok: run: redis-exporter: (pid 9444) 0s
- ok: run: sidekiq: (pid 9460) 0s
- ok: run: unicorn: (pid 9467) 1s
如果结果如下,则代表开启失败,还需要做处理(后文会讲到):
- fail: alertmanager: runsv not running
- fail: gitaly: runsv not running
- fail: gitlab-monitor: runsv not running
- fail: gitlab-workhorse: runsv not running
- fail: logrotate: runsv not running
- fail: nginx: runsv not running
- fail: node-exporter: runsv not running
- fail: postgres-exporter: runsv not running
- fail: postgresql: runsv not running
- fail: prometheus: runsv not running
- fail: redis: runsv not running
- fail: redis-exporter: runsv not running
- fail: sidekiq: runsv not running
- fail: unicorn: runsv not running
如果成功开启了 GitLab 服务,接下来就可以打开你的浏览器,输入“127.0.0.1”或者你在局域网中的 ip 进入 GitLab 的服务界面了。局域网内的其它机器也可以通过你的局域网 IP 访问你机器上的 GitLab 服务,这样就形成了一个私有的 Git 版本管理。
成功后的服务界面:
二、常见问题
(1)服务开启失败
错误结果显示如下:
- fail: alertmanager: runsv not running
- fail: gitaly: runsv not running
- fail: gitlab-monitor: runsv not running
- fail: gitlab-workhorse: runsv not running
- fail: logrotate: runsv not running
- fail: nginx: runsv not running
- fail: node-exporter: runsv not running
- fail: postgres-exporter: runsv not running
- fail: postgresql: runsv not running
- fail: prometheus: runsv not running
- fail: redis: runsv not running
- fail: redis-exporter: runsv not running
- fail: sidekiq: runsv not running
- fail: unicorn: runsv not running
这说明 runsv 服务未开启,通过一下命令开启即可:
- systemctl start gitlab-runsvdir.service
- systemctl status gitlab-runsvdir.service
- sudo gitlab-ctl start
(2)打开页面时显示 502 错误
界面提示“Whoops, GitLab is taking too much time to respond.”,这说明 GitLab 此时占用了过多的内存资源。你需要对服务器进行扩容,或者清理掉一些不需要的且占内存的服务。
(3)GitLab 占用内存过高
这个问题基本没有啥办法,只能是扩展内存了,因为开启服务确确实实需要占据大量内存。
在 Deepin 中搭建 GitLab的更多相关文章
- CentOS8.1中搭建Gitlab服务器
依旧是写在前面的话♠:很多IT人从业N年也许都还没有亲自搭过一次Gitlab服务器,是不是?有木有?!通常都是背着自己的笔记电脑到一家公司入职,或入职后领到公司分配的电脑,然后分配了Git账号,拿了将 ...
- centos7 中搭建gitlab
1.在virtual box中新建一个虚拟机 2.gitlab ce(community版本)地址:https://about.gitlab.com/installation/#centos-7?ve ...
- 在docker 中搭建gitlab环境
docker run --name gitlab -it -p : -p : -p : \ --env 'GITLAB_SECRETS_DB_KEY_BASE=Rpwq35wjLJ5N6CrkvdXs ...
- docker中搭建gitlab
1, 下载镜像 docker pull sameersbn/gitlab:7.4.3 # 下载gitlab镜像 docker pull sameersbn/mysql:latest # 下载gitla ...
- Ubuntu搭建Gitlab服务器
想到Gitlab就必定会想到SVN,因为两者都是代码管理系统,作为开发人员来说,用习惯了SVN的图形化界面和SVN代码更新和提交的方式, 可能就会觉得使用git会比较麻烦,其实不然git使用起来非常方 ...
- CentOS 7 搭建 GitLab
概述 GitLab 是我在日常工作中使用的代码仓库管理系统,它带有非常友好的 Web 界面,并且功能丰富.下面将介绍我在 CentOS 7 上搭建 GitLab 的步骤,以及遇到的一些问题. 关于不同 ...
- 使用Docker搭建GitLab
使用docker-compose快速启动GitLab.(当然前提是你先安装docker-compose,安装方式见博客:http://blog.csdn.net/yulei_qq/article/de ...
- 搭建gitlab本地服务
一本正经的搞事情 改变懒惰,成就心中的自己,并非难事 博客园 首页 新随笔 联系 管理 订阅 随笔- 40 文章- 0 评论- 5 gitlab服务部署及使用 目录 一.什么是gitlib ...
- [转帖]知乎专栏:正确使用 Docker 搭建 GitLab 只要半分钟
正确使用 Docker 搭建 GitLab 只要半分钟 https://zhuanlan.zhihu.com/p/49499229 很多程序员在内网搭建 gitlab 都搭建的坑坑洼洼,不支持 htt ...
随机推荐
- 0.ECMAScript 6 简介
ECMAScript 6简介 ECMAScript 6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目 ...
- ASP.ENT前台更改绑定数据的日期格式
1.Eval和Bind的区别 绑定表达式 < %# Eval("字段名") %> < %# Bind("字段名") %> 区别 1.ev ...
- C# 字符串处理—— 去除首位保留其他
//去除首位 public static string RemoveFirstPlace(string s) { ) //输入空值直接Return { ")) //判断开头是否是零 s = ...
- spring data jpa(一)
第1章 Spring Data JPA的快速入门 1.1 需求说明 Spring Data JPA完成客户的基本CRUD操作 1.2 搭建Spring Data JPA的开发环境 1. ...
- Java实现类似类似百度搜索模糊关键字
package com.test; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashM ...
- mysql 中优化数据类型的三个原则
数据类型越小越好 在业务够用的情况下,尽可能选取小的数据类型.不仅占用空间小,而且执行查询等操作时性能好. 越简单越好 对于简单的类型,在处理时会占用更少的 CPU 周期. 例如,整数就比字符类型简单 ...
- POJ 1258(最小生成树+知识)
用kruskal算法,利用w[i]给r[i]间接排序,从而r[i]可以按照边大小保存序号,同时要判断是否在一个集合里面 #include <cstdio> #include <ios ...
- UOJ#55 [WC2014]紫荆花之恋
题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来. 仔细看看的话,这个大树实际上是一个带权树. ...
- 国内外有名的java论坛
国内: www.chinajavaworld.com-论坛人很多,高手也多,不过好像都在潜水 www.cn-java.com -也很不错,文章很好,但是就是商业性浓了点. www ...
- ArcGIS10.x Engine直连提示连接超时ORA-12170 来自:http://www.iarcgis.com/?p=1004
导语 随着Esri大力宣传直连,用户也越来越由服务连接,改为直连,当然ArcGIS Engine开发用户也不例外. 环境 Oracle数据库,ArcGIS版本不限,不过由于9版本多以服务连接,以10版 ...