首先安装必须的一些依赖

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates

安装Postfix发送通知邮件

sudo apt-get install -y postfix

运行命令后,会出现一样邮件配置项,选择Interent site这项,然后一路回车键(使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择 Internet Site)

官方源安装gitlab

官方源网站安装gitlab(如果官网无法安装,请参照下边步骤,利用国内安装源进行安装)

sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

国内源安装gitlab

信任 GitLab 的 GPG 公钥(配置git的公钥,如果不信任公钥,无法配置清华大学的镜像路径,切记):

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

配置镜像路径(由于git官网是国外的服务器,所以配置清华大学的镜像路径)

切换到root用户,打开下面文件;将下边的信息添加到文档中(详见Gitlab Community Edition 镜像使用帮助

vi /etc/apt/sources.list.d/gitlab-ce.list  --打开文件
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main  --添加国内安装源

gitlab安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

国内源安装 gitlab-ce

sudo apt-get update  --更新
sudo apt-get install gitlab-ce  --安装

执行配置

sudo gitlab-ctl reconfigure

注1:

在执行配置的时候sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,出现会一直卡无法往下进行!

解决方案:

1、按住CTRL+C强制结束;

2、运行:sudo systemctl restart gitlab-runsvdir

3、再次执行:sudo gitlab-ctl reconfigure

注2:(自己遇到的坑,在网上查的资料得知,)

  1. 在ruby_block动作运行一步会出现超时

运行处理程序:运行gitlab-ctl reconfigure时出错:ruby_block [使用GitLab授权Grafana](监视:: grafana第95行)发生错误:Mixlib :: ShellOut :: CommandTimeout:命令在600秒后超时:命令超出允许执行时间,进程终止
----开始输出/ opt / gitlab / bin / gitlab-railsRunner -e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/ -/ grafana / login / gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' ---- STDOUT:
STDERR:
---- / opt / gitlab / bin / gitlab-railsRunner的最终输出-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx。 xx.xx /-/ grafana / login / gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app。
----运行/ opt / gitlab / bin / gitlab-railsRunner
-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/-/grafana/login/ gitlab”,名称:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);'

2.sudo gitlab-rake gitlab:env:info正常返回虽然有时上面一步出现超时,测试发现已经可以通过浏览器访问Gitlab服务器,并且可以进入到注册页面,但提交注册时出现返回超时而用户可以成功注册的情况。配置信息,页面返回虽然超时但操作可以正常完成,这也是我判断可能是服务运行过缓慢导致超时的原因。

3.在登录时反复超时,无法正常使用。将服务器内存配置替换为2GB后解决超时问题

注3:如果遇到这种报错信息的话,应该是git用户权限的问题。git用户需要对包含.ssh目录的文件夹(包含父文件夹)执行权限。

Running handlers:
There was an error running gitlab-ctl reconfigure: service[grafana] (dynamically defined) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [], but received ''
---- Begin output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
STDOUT: timeout: run: /opt/gitlab/service/grafana: (pid ) 33s, got TERM
STDERR:
---- End output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
Ran /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana returned

即使/var/opt/gitlab/.ssh的所有者和用户组都是git,由于父权限,它也不能到这级目录执行shell命令。即,给 /var/opt/gitlab/目录执行权限

chmod +x /var/opt/gitlab/
chmod +x /var/opt/
chmod +x /var/

如果执行不成功,就用sudo命令执行

启动gitlab

sudo gitlab-ctl start

浏览器进行访问

http://电脑的IP地址

  第一次进入,需要输入管理员账号的密码,以方便后期的管理。
输入好之后,就可以以管理员进行登录,账号是root,密码就是你刚才输入的密码。
至此,gitlab已安装成功,之后的使用方式,和github没有太大差异,就不进行介绍了

扩展

修改gitlab的端口和地址

编辑gitlab.rb

sudo gedit /etc/gitlab/gitlab.rb

将如下数据进行更改

external_url 'http://gitlab.example.com'

比如说更改为

external_url 'http://192.168.39.100:7800'

其中,192.168.39.100是安装了gitlab的这台电脑的IP,端口只要不冲突就行

更改之后,需要执行如下代码

sudo gitlab-ctl reconfigure

最后,在浏览器中访问gitlab,发现已修改成功,需要使用192.168.39.100:7800来访问

其他

gtilab部分命令

开启
sudo gitlab-ctl start
停止
sudo gitlab-ctl stop
重启
sudo gitlab-ctl restart
查看状态
sudo gitlab-ctl status
确认配置(修改配置后,必须执行)
sudo gitlab-ctl reconfigure
查看日志
sudo gitlab-ctl tail
查看 GitLab 版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

卸载gitlab

sudo gitlab-ctl uninstall

sudo dpkg -r gitlab-ce

sudo rpm -e gitlab-ce

reboot(重启)

Ubuntu18.04 GitLab仓库服务器搭建的更多相关文章

  1. gitlab仓库服务器搭建

    ``` curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash sudo yum install ...

  2. 虚拟机安装ubuntu18.04及其srs服务器的搭建

    第一次写博客,有些地方可能不太完善. 1.安装VMware,我用的是VMware12. 2.下载Ubuntu镜像(自Ubuntu 17.10开始桌面版本不再提供32位安装镜像,Ubuntu Serve ...

  3. Ubuntu18.04下LAMP环境搭建

    可以安装安装Xampp,Xampp是一个集成的LAMP开发环境. 但是这只是对于一个刚安装好的系统来说的,但是很有可能我的电脑上面已经安装过Apache,或者安装过MySQL,或者安装过PHP了,或者 ...

  4. Ubuntu 16.04下Samba服务器搭建和配置(配截图)

    一.相关介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和 ...

  5. Ubuntu-18.04 下使用Nginx搭建高可用,高并发的asp.net core集群

    一.实现前的准备 以下是实现简单负载均衡的思路,图中的服务器均为虚拟机 三台Linux服务器,一台用作Nginx负载均衡(192.168.254.139),另外两台用作Asp.Net Core应用程序 ...

  6. ubuntu18.04连接pptpd服务器(未成功)

    sudo apt-get install pptp-linux sudo pptpsetup --create testvpn --server 127.0.0.1 --username your_u ...

  7. Ubuntu-18.04.2系统 Nginx+uWSGI+Django 部署生产环境

    首先准备环境: 1.使用虚拟机 VMware Workstation Pro (也可以不用),安装Ubuntu-18.04.2系统 开始搭建环境 (因为ubuntu18.4.2集成了python3.6 ...

  8. Ubuntu18.04 更换源

    在虚拟机新建一个Ubuntu18.04.1-live-server-amd64当做服务器 在安装软件时报错: slave@slave:~$ sudo -s[sudo] password for sla ...

  9. Hyper-V虚拟机上安装Ubuntu16.04/Ubuntu18.04.2LTS,搭建GitLab

    我的电脑系统是win10,内存8g如下 一开始是装的Ubuntu18.04.2LTS, gitlab-ce_12.1.3-ce.0_amd64.deb,每次能够安装成功,但是修改完ip后,运行gitl ...

随机推荐

  1. SpringBoot:关于默认连接池Hikari的源码剖析

    1.起因 因为这两天在给公司的一个项目升级SpringBoot版本,遇到了一些坑,升级项目版本:SpringBoot1.5.x到SpringBoot2.0.x 今天早上双库操作遇到一个问题:jdbcU ...

  2. 什么是TCP粘包?怎么解决这个问题

    在socket网络编程中,都是端到端通信,由客户端端口+服务端端口+客户端IP+服务端IP+传输协议组成的五元组可以明确的标识一条连接.在TCP的socket编程中,发送端和接收端都有成对的socke ...

  3. RSA前台加密后台解密

    RSA解密时BadPaddingException java rsa 解密报:javax.crypto.BadPaddingException: Decryption error Java安全架构__ ...

  4. v-if和v-for一起使用的几个方法

    方法一(推荐): 不带if <ul> <li v-for="(item, index) in list" :key="index" > ...

  5. AIX 系统参数配置

    AIX 系统参数配置 原创 Linux操作系统 作者:fanhongjie 时间:2008-05-08 22:46:37 540 0 AIX内核属于动态内核,核心参数基本上可以自动调整,因此当系统安装 ...

  6. 爬虫中Requests模块

    Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “ ...

  7. 【转】Jupyter Notebook主题字体设置及自动代码补全

    Jupyter Notebook用久了就离不开了,然而自带的主题真的不忍直视.为了视力着想,为了自己看起来舒服,于是折腾了一番..在github上发现了一个jupyter-themes工具,可以通过p ...

  8. WebGL学习笔记(七):输入和动画

    目前为止,我们绘制出来的3D物体都是静止的,接下来我们需要让桌面上的小盒子可以根据我们按键(上下键)前进后退: 输入方面,监听按键和鼠标消息直接在document上添加对应的监听就行了: 动画这块,我 ...

  9. Windows10下安装Git

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.具体安装步骤如下: 第一步:先从官网下载最新版本的Git 官网地址:https://git-scm.com/do ...

  10. Shell流程控制语句if

    (1).if语句 语法格式: if 判断条件 ; then 命令 fi 或 if 判断条件 then 命令 fi if语句流程图: 实例:判断命令是否执行成功,成功则输出语句This is ok. [ ...