三十分钟完成 Gitlab 搭建安装指南(支持 HTTPS 访问)

2024-09-06 14:18

本文主要是介绍三十分钟完成 Gitlab 搭建安装指南(支持 HTTPS 访问),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景
由于我们早期使用 phabricator 进行代码管理,但是在使用的过程当中发现和社区的 github 使用方式有些不同,所以为了让大伙都习惯 github 社区相同的使用风格,所以我们换成了 gitlab 作为公司内部的代码管理系统;并且其强大的 CI/CD 的方式为后续的持续集成工作打下基础。

注意
Gitlab 分为 社区版 (gitlab-ce) 与 企业版 (gitlab-ee),社区版免费,企业版收费,两个版本的区别参考官方文档:gitlab-ce VS gitlab-ee;官方网站安装文档默认是针对 gitlab-ee 进行说明的,为了避免不必要的麻烦请直接安装 gitlab-ce 版本。

新版本方式 : 此文档针对大于 Gitlab 10.5 版本进行说明的,小于此版本的参考其它文档。

开始安装
由于官方的方式下载软件包太慢,并且我们是专门购买的一台机器安装 gitlab 使用,再加上本人觉得直接下载软件包 *.deb 手动安装方便一些,所以我直接在清华大学开源软件源下载的包进行安装的。

注意:我这里的操作系统版本是 Ubuntu 16.04 ,最后的那位博客使用的是 Centos 方式安装的,最好对照自己的操作系统方式进行博客参考。

下载安装
以下通过手动方式安装的,如果希望通过添加软件源的方式添加方便后续的自动更新,可以参考: 清华大学开源文档如何添加 gitlab-ce 软件源。

下载包文件
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/gitlab-ce_10.7.2-ce.0_amd64.deb
1
开始安装
dpkg -i gitlab-ce_10.7.2-ce.0_amd64.deb
1
基础配置
打开 /etc/gitlab/gitlab.rb 文件进行基础设置,所有的核心设置均在这个文件中。

设置外部地址
## 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
external_url 'https://gitlab.xxx.com'
1
2
3
4
5
注意:如果没有设置以下 https 方式,则需要把地址前面换成 http。

设置 HTTPS 方式
如果想要以上的 https 方式正常生效使用,则需要把 letsencrypt 自动生成证书的配置打开,这样在执行重新让配置生效命令 (gitlab-ctl reconfigure) 的时候会自动给域名生成免费的证书并自动在 gitlab 自带的 nginx 中加上相关的跳转配置,都是全自动的,非常方便。

注意:进行生成证书的时候请预先把域名解析设置完毕,否则会执行配置生效命令失败。

################################################################################
# Let's Encrypt integration
################################################################################
 letsencrypt['enable'] = true
 letsencrypt['contact_emails'] = ['caryyu@qq.com'] # This should be an array of email addresses to add as contacts
1
2
3
4
5
邮件配置
很多博客及大多数的情况都推荐使用 postfix 模块进行邮件通知处理;但是我们公司已有邮箱服务器,所以 postfix 并非必须的;所以我这里采用 SMTP 的方式配置邮件服务器来实现通知效果;具体配置参考如下: 


打开 /etc/gitlab/gitlab.rb 配置 SMTP 服务的具体内容如下,我这里采用的邮箱安全端口,点击打开更多配置参考。

### Email Settings
 gitlab_rails['gitlab_email_enabled'] = true
 gitlab_rails['gitlab_email_from'] = 'system.notice@qq.com'
 gitlab_rails['gitlab_email_display_name'] = 'gitlab.notice'
 gitlab_rails['gitlab_email_reply_to'] = 'system.notice@qq.com'
 gitlab_rails['gitlab_email_subject_suffix'] = 'gitlab'

### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**

 gitlab_rails['smtp_enable'] = true
 gitlab_rails['smtp_address'] = "smtp.qq.com"
 gitlab_rails['smtp_port'] = 465
 gitlab_rails['smtp_user_name'] = "system.notice@qq.com"
 gitlab_rails['smtp_password'] = "xxxxx"
 gitlab_rails['smtp_domain'] = "qq.com"
 gitlab_rails['smtp_authentication'] = "login"
 gitlab_rails['smtp_enable_starttls_auto'] = true
 gitlab_rails['smtp_tls'] = true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20


利用以下命令进行测试邮箱配置是否正确,测试使用方式更多参考:如何测试

gitlab-ctl console
irb(main):002:0>Notify.test_email('xx@qq.com', '邮件标题', '邮件正题').deliver_now
1
2
配置生效
当 /etc/gitlab/gitlab.rb 配置发生改变的时候想要生效必须执行以下命令:

gitlab-ctl reconfigure
1
以上的操作执行完毕并且成功之后,这个时候就可以直接在浏览器中打开了。

注意:如果依然无法访问的话,请检查主机防火墙或云服务安全组中的 80 或 443 端口是否正常开放,切记!切记!切记!

最后
此篇主要只涉及安装与基础配置的部分,如果需要查看更多包括:忘记 root 密码重置、备份与恢复等;可以点击这篇博客(如何安装与使用 Gitlab)进行查看,此篇主要参考了这位作者的博客内容,并根据自己的操作进行整理,感谢这位作者的付出!

其它参考
针对小于 Gitlab 10.5 的旧版本配置 HTTPS 证书
 

这篇关于三十分钟完成 Gitlab 搭建安装指南(支持 HTTPS 访问)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142244

相关文章

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编