Ubuntu20.04安装配置GitLab的方法步骤

介绍

GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及其他与开发相关的功能,如问题跟踪。它旨在使用您自己的基础架构进行托管,并为您的开发团队提供部署内部存储库的灵活性,与用户交互的公共方式,或者为贡献者提供托管自己项目的方法。

GitLab项目使用简单的安装机制在您自己的硬件上设置GitLab实例变得相对简单。在本指南中,我们将介绍如何在阿里云Ubuntu 20.04服务器上安装和配置GitLab。

前提条件

部署GitLab的实例要求至少使用2个vCPU和4GiB的内存,本示例中使用的相关资源版本如下。

  • 实例规格:ECS共享型 s6 2核4G1M带宽
  • 操作系统:Ubuntu 20.04

已添加如下表所示的安全组规则。

方向 协议/应用 端口/范围 源地址
入方向 HTTP(80) 80 0.0.0.0/0

安装

第1步 - 安装依赖项

在我们自己安装GitLab之前,安装一些在安装过程中持续使用的软件非常重要。幸运的是,可以从Ubuntu的默认包存储库轻松安装所有必需的软件。

由于这是我们第一次apt在此会话期间使用,我们可以刷新本地包索引,然后键入以下内容来安装依赖项:

sudo apt update
sudo apt install ca-certificates curl openssh-server postfix

您可能已经安装了一些此软件。对于postfix的安装,请在出现提示时选择“ Internet站点”。在下一个屏幕上,输入服务器的域名以配置系统发送邮件的方式。

第2步 - 安装GitLab

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

您可以随意检查下载的脚本,以确保您对所需的操作感到满意。您还可以在此处找到该脚本的托管版本:

less /tmp/script.deb.sh

一旦您对脚本的安全性感到满意,请运行安装程序:

sudo bash /tmp/script.deb.sh

该脚本将设置您的服务器以使用GitLab维护的存储库。这使您可以使用与其他系统软件包相同的软件包管理工具来管理GitLab。完成后,您可以使用以下apt命令安装实际的GitLab应用程序:

sudo apt install gitlab-ce

这将在您的系统上安装必要的组件。

注意事项

在安装GitLab应用程序中如果报以下错误,我们可以配置国内加速镜像。

报错信息:

# apt-get install gitlab-ce
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gitlab-ce

修改安装脚本

sudo vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list

OLD

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main

NEW

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main
deb-src https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main

再次执行

sudo apt update
sudo apt install gitlab-ce

参考链接:https://gitlab.com/gitlab-org/gitlab-foss/-/issues/2370

第3步 - 调整防火墙规则

在配置GitLab之前,您需要确保防火墙规则足够宽松以允许Web流量。如果您遵循先决条件中链接的指南,则将启用ufw防火墙。

键入以下内容查看活动防火墙的当前状态:

sudo ufw status
Status: active

To             Action   From
--             ------   ----
80             ALLOW    Anywhere
22             ALLOW    Anywhere
80 (v6)          ALLOW    Anywhere (v6)
22 (v6)          ALLOW    Anywhere (v6)  

如您所见,当前规则允许SSH流量通过,但对其他服务的访问受到限制。由于GitLab是一个Web应用程序,我们应该允许HTTP访问。因为我们将利用GitLab从Let's Encrypt请求和启用免费TLS / SSL证书的功能,所以我们也允许HTTPS访问。

/etc/services文件中提供了HTTP和HTTPS的端口映射协议,因此我们可以按名称允许该流量。如果您尚未启用OpenSSH流量,则现在也应该允许该流量:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

再次检查ufw status

Status: active

To             Action   From
--             ------   ----
80             ALLOW    Anywhere
22             ALLOW    Anywhere
80/tcp           ALLOW    Anywhere
443/tcp          ALLOW    Anywhere
OpenSSH          ALLOW    Anywhere
80 (v6)          ALLOW    Anywhere (v6)
22 (v6)          ALLOW    Anywhere (v6)
80/tcp (v6)        ALLOW    Anywhere (v6)
443/tcp (v6)        ALLOW    Anywhere (v6)
OpenSSH (v6)        ALLOW    Anywhere (v6)  

第4步 - 编辑GitLab配置文件

在使用该应用程序之前,需要更新配置文件并运行重新配置命令。首先,打开Gitlab的配置文件:

sudo vim /etc/gitlab/gitlab.rb

顶部附近是external_url配置线。更新它以匹配您的域。更改httphttps以便GitLab会自动将用户重定向到受Let's加密证书保护的站点:

## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Note: During installation/upgrades, the value of the environment variable
##! EXTERNAL_URL will be used to populate/replace this value.
##! On AWS EC2 instances, we also attempt to fetch the public hostname/IP
##! address from AWS. For more details, see:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'https://example.com' // 此处修改为您的域名或ip地址

接下来,查找letsencrypt['contact_emails']设置。此设置定义了一个电子邮件地址列表,如果您的域存在问题,Let的加密项目可以用来与您联系。取消注释并填写此内容是一个好主意,以便您知道任何问题:

letsencrypt['contact_emails'] = ['sammy@example.com'] // 此处修改为您的邮箱地址

保存并关闭文件。运行以下命令重新配置Gitlab:

sudo gitlab-ctl reconfigure

这将使用它可以找到的有关您的服务器的信息初始化GitLab。这是一个完全自动化的过程,因此您不必回答任何提示。该过程还将为您的域配置Let's Encrypt证书。

sudo gitlab-ctl restart

重启 GitLab。

附上GitLab常用命令:

常用命令 说明
sudo gitlab-ctl reconfigure 重新加载配置,每次修改/etc/gitlab/gitlab.rb文件之后执行
sudo gitlab-ctl status 查看 GitLab 状态
sudo gitlab-ctl start 启动 GitLab
sudo gitlab-ctl stop 停止 GitLab
sudo gitlab-ctl restart 重启 GitLab
sudo gitlab-ctl tail 查看所有日志
sudo gitlab-ctl tail nginx/gitlab_acces.log 查看 nginx 访问日志
sudo gitlab-ctl tail postgresql 查看 postgresql 日志

第5步 - 通过Web界面执行初始配置

在允许GitLab运行和访问的情况下,我们可以通过Web界面执行应用程序的一些初始配置。

第5步 - 首次登录

在Web浏览器中访问GitLab服务器的域名:

https://example.com // 您external_url配置的地址

在您第一次访问时,您应该看到为管理帐户设置密码的初始提示,修改下root管理员密码之后就可以正常使用了。

第6步 - 结论

您现在应该在自己的服务器上托管一个正常工作的GitLab实例。您可以开始导入或创建新项目,并为您的团队配置适当的访问级别。GitLab会定期添加功能并对其平台进行更新,因此请务必查看项目主页以及时了解最新任何改进或重要通知。

GitLab开机自动启动

设置GitLab开机自启动命令为

sudo systemctl enable gitlab-runsvdir.service

禁止GitLab开机自启动命令为

sudo systemctl disable gitlab-runsvdir.service

GitLab邮箱配置

以下用QQ邮箱为例

第1步 - 开启qq邮箱的POP3/SMTP服务并保存好授权码

这一步在qq邮箱的设置 -> 账户中

点击开启按照提示步骤操作会获得相应的授权码(注意:记住授权码一会要用)

第2步 - 修改gitlab的配置文件

sudo vim /etc/gitlab/gitlab.rb
#配置邮箱来源, 与展示的名称
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '您的qq邮箱地址'
gitlab_rails['gitlab_email_display_name'] = '您的邮箱显示名称'

#smtp配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "您的qq邮箱地址"
gitlab_rails['smtp_password'] = "您的授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

第3步 - 重新加载配置

sudo gitlab-ctl reconfigure

第4步 - 发送测试邮件

sudo gitlab-rails console

#进入控制台,然后发送邮件
Notify.test_email('测试邮箱地址', '邮件标题', '邮件正文').deliver_now

进入邮箱查看是否收到邮件。

GitLab修改端口

GitLab默认端口是80,如果我们想更改成9091端口,则需要修改GitLab配置文件。

sudo vim /etc/gitlab/gitlab.rb

修改如下配置

nginx['listen_port'] = 9091 // GitLab端口,默认80端口
unicorn['port'] = 9092 // 可不修改,默认监听8080端口

重新加载配置

sudo gitlab-ctl reconfigure

即可修改成功。

GitLab Pages设置

修改gitlab的配置文件

sudo vim /etc/gitlab/gitlab.rb

修改如下配置

gitlab_pages[‘enable'] = true; 开启 Pages 服务
pages_external_url ‘您的GitLab Pages域名地址'; 替换成你自己的域名
gitlab_pages[‘inplace_chroot'] = true; 以Docker container 方式运行的 Gitlab 必须开启此项
pages_nginx[‘enable'] = true; 开启 Pages 服务的 vhost,该项开启后将会在 /var/opt/gitlab/nginx/conf 目录下生成独立的名为 gitlab-pages.conf Nginx 配置文件。
gitlab_pages['access_control'] = true 开启 Pages 访问控制。

重新加载配置

sudo gitlab-ctl reconfigure

GitLab Runner配置

第1步 - 安装

参考官网安装流程:https://docs.gitlab.com/runner/install/linux-repository.html

第2步 - 注册

参考官网注册流程:https://docs.gitlab.com/runner/register/

参考链接

如何在Ubuntu 18.04上安装和配置GitLab - 云+社区 - 腾讯云

Ubuntu 简单安装和配置 GitLab - 田园里的蟋蟀 - 博客园

在Ubuntu18.04下安装gitlab国内镜像加速_Linux教程_云网牛站

Ubuntu 18.04更换国内高速源_Linux教程_云网牛站

gitlab修改默认端口 - 云+社区 - 腾讯云

Ununtu16.04搭建GitLab服务器教程 - 知乎

gitlab-runner | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

开启 Gitlab Pages 服务 - George

Download and install GitLab | GitLab

到此这篇关于Ubuntu20.04安装配置GitLab的方法步骤的文章就介绍到这了,更多相关Ubuntu20.04安装配置GitLab内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在Ubuntu Linux上安装和使用Git和GitHub

    Git的简介 Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样: Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问. Github是一个存放着世界上最棒的一些软件项目的宝藏,这些软件项目由全世界的开发者无私贡献.这个看似简单,实则非常强大的平台因为大大帮助了那些对开发大规模软件感兴趣的开发者而被开源社区所称道. 这篇向导是对于安装和使用G

  • Linux/Ubuntu Git从安装到使用的方法步骤

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一.叙述 1.说明:需要在Windows 安装Git的同学,可以查看该篇博客 https://www.jb51.net/softjc/711624.html 相对Windows来说,Ubuntu安装使用Git就很简单了. 2.Git的两大特点 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题. 分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.首先找一台电脑充当服务器的角色,每

  • 在Ubuntu 16.04上用Docker Swarm和DigitalOcean创建一个Docker容器集群的方法

    介绍 Docker Swarm是用于部署Docker主机集群的Docker本地解决方案.您可以使用它来快速部署在本地计算机或受支持的云平台上运行的Docker主机集群. 在Docker 1.12之前,设置和部署Docker主机集群需要使用外部键值存储(如etcd或Consul)来进行服务发现.但是,使用Docker 1.12,不再需要外部发现服务,因为Docker提供了一个内置的键值存储,可以开箱即用. 在本教程中,您将了解如何使用Docker 1.12上的Swarm功能部署一组Docker机器

  • Ubuntu20.04安装配置GitLab的方法步骤

    介绍 GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及其他与开发相关的功能,如问题跟踪.它旨在使用您自己的基础架构进行托管,并为您的开发团队提供部署内部存储库的灵活性,与用户交互的公共方式,或者为贡献者提供托管自己项目的方法. GitLab项目使用简单的安装机制在您自己的硬件上设置GitLab实例变得相对简单.在本指南中,我们将介绍如何在阿里云Ubuntu 20.04服务器上安装和配置GitLab. 前提条件 部署GitLab的实例要求至少

  • Ubuntu20.04开启root账户的方法步骤

    Ubuntu20.04安装完成之后默认是没有root账户登录权限的,按照以下步骤即可实现开机一步完成root账户登录,看完你会不会觉得很方便呢 1. 第一步 以普通用户登录系统,创建root用户的密码 在终端输入命令:sudo passwd root 然后输入设置的密码,输入两次,这样就完成了设置root用户密码了(注意Linux系统下密码是没有回显的) 2. 第二步 修改 50-ubuntu.conf 文件 在终端输入命令:sudo gedit /usr/share/lightdm/light

  • Django安装配置mysql的方法步骤

    近期做那个python的开发,今天就来简单的写一下Django安装配置mysql的方法步骤 安装mysql 首先安装pymysql pip install pymysql 然后安装mysqlclient pip install mysqlclient 在安装过程中可能会报类似以下错误(因为我的已经安装成功了,找了类似的图): 在window下安装python的包会出现各种问题,https://www.lfd.uci.edu/~gohlke/pythonlibs/这个网站就是专门用于解决windo

  • centos下安装配置phpMyAdmin的方法步骤

    centos下安装配置phpmyadmin,我花了二个晚上,郁闷的我不行,配置phpmyadmin简单吧,很简单,我刚工作的时候,就配置过,很顺利,5年后,竟然花了我二个晚上,感觉在centos下有好多陷井,貌似可以走的通,但是进去后,是死胡同.所以做个笔记 一.在phpMyAdmin官方网站http://www.phpmyadmin.net/downloads/下载源码包 cd /usr/local/src wget https://files.phpmyadmin.net/phpMyAdmi

  • CentOS7安装配置 Redis的方法步骤

    导语 Redis 不用多介绍了,下面开始安装配置吧. 安装 下载源码 wget http://download.redis.io/releases/redis-4.0.12.tar.gz: 解压并进入到目录 tar xzf redis-4.0.12.tar.gz.cd redis-4.0.12/: 编译到指定目录 make PREFIX=/usr/local/redis install创建 /usr/local/redis/ect 目录,将 redis.conf 复制过来 /usr/local/

  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    安装前准备 CUDA的主要用途是深度学习,而目前主流的深度学习框架Tensorflow2最高支持CUDA 10.1,因此本文讲解在Ubuntu 20.04系统上安装CUDA 10.1的主要过程. 首先要查看你的NVIDIA显卡驱动是否支持cuda10.1版本. 在终端执行以下命令: nvidia-smi 如果 CUDA Version: - 这里的版本号大于等于10.1(我的是10.2),就可以安装cuda10.1. 关键点:gcc降级 因为Ubuntu20.04自带的gcc版本为9.3,而cu

  • Ubuntu 18.04 LTS安装KVM虚拟机的方法步骤

    本文介绍了Ubuntu 18.04 LTS安装KVM虚拟机的方法步骤,分享给大家,具体如下: 前一阵使用在最新的Ubuntu 18.04上安装了KVM来虚拟一个小的VM集群,将主要过程和其中遇到的一些问题记录下来. 准备工作 首先需要检查一下CPU是否支持虚拟化,执行一下命令来检查/proc/cpuinfo文件中是否又虚拟化相关的字眼,如果有的话表明CPU支持虚拟化技术. egrep -c '(svm|vmx)' /proc/cpuinfo 上面命令执行结果如果返回0,表示CPU不支持虚拟化技术

  • Ubuntu20.04安装搜狗输入法的详细步骤

    1.安装Fcitx输入框架 相关的依赖库和框架都会自动安装上 sudo apt install fcitx-bin sudo apt-get install fcitx-table 2.下载Linux版本搜狗输入法(搜狗输入法官网中根据自己情况选择32位和64位) 然后进入相应的下载目录,进行安装(安装过程中如果有错,运行sudo apt --fix-broken install,删除安装,重新开始) sudo dpkg -i sougou的文件名.deb 法 遇到 dpkg: error pr

  • docker安装nginx并配置ssl的方法步骤

    最近想在吃灰了一年多的服务器上,安装一下docker,结果始终找不到合适的yum源,后来经过一番百度才知道,原来centos8要凉了,所以好多镜像站都移除了CentOS 8的源. 没办法,短暂的思考之后,决定重装一下操作系统,换成centos7.9,好在服务器上没啥重要东西,只要给blog挪个窝就行了. 重装系统之后,安装docker过程非常顺利. 开始安装nginx. 1.直接拉取最新的nginx镜像 docker pull nginx 2.新建一些目录,把nginx容器内的相关文件夹挂载到宿

  • Ubuntu 16.04安装Apache Tomcat的方法

    Apache Tomcat是Java Servlet和Java Server Pages技术的开源软件实现. 可以使用OpenJDK tomcat运行你的Java应用. Apache Tomcat安装 从Ubuntu软件库安装Tomcat: apt-get install tomcat8 您可能还需要安装tomcat8-docs,tomcat8-examples和tomcat8-admin工具,这些工具提供了文档,测试和允许您基于Web的应用程序管理Tomcat. 您可以使用以下命令安装所有这三

随机推荐