本地GitLab服务器搭建

一、简介

        GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。

二、安装GitLab

2.1、依赖安装

        通过以下命令安装GitLab依赖的工具:

sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

        部分版本的Ubuntu已经安装了如上工具:

 2.2、安装邮件服务工具(可选)

        安装 Postfix 以发送电子邮件通知。如果您想使用其他解决方案发送电子邮件,请跳过此步骤并在安装极狐GitLab 后配置外部 SMTP 服务器

sudo apt-get install -y postfix

sudo apt-get install -y postfix
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  gir1.2-geocodeglib-1.0 libegl1-mesa libwayland-egl1-mesa ubuntu-web-launchers
使用'sudo apt autoremove'来卸载它(它们)。
建议安装:
  procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre postfix-lmdb postfix-sqlite sasl2-bin dovecot-common resolvconf postfix-cdb postfix-doc
下列【新】软件包将被安装:
  postfix
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 10 个软件包未被升级。
需要下载 1,147 kB 的归档。
解压缩后会消耗 4,078 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu bionic-updates/main amd64 postfix amd64 3.3.0-1ubuntu0.4 [1,147 kB]
已下载 1,147 kB,耗时 8秒 (142 kB/s)                                                                                                                                                                       
正在预设定软件包 ...
正在选中未选择的软件包 postfix。
(正在读取数据库 ... 系统当前共安装有 178062 个文件和目录。)
正准备解包 .../postfix_3.3.0-1ubuntu0.4_amd64.deb  ...
正在解包 postfix (3.3.0-1ubuntu0.4) ...
正在设置 postfix (3.3.0-1ubuntu0.4) ...
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /lib/systemd/system/postfix.service.
正在添加组"postfix" (GID 129)...
完成。
正在添加系统用户"postfix" (UID 125)...
正在将新用户"postfix" (UID 125)添加到组"postfix"...
无法创建主目录"/var/spool/postfix"
Creating /etc/postfix/dynamicmaps.cf
正在添加组"postdrop" (GID 130)...
完成。
setting myhostname: lyb
setting alias maps
setting alias database
mailname is not a fully qualified domain name.  Not changing /etc/mailname.
setting destinations: $myhostname, lyb, localhost.localdomain, , localhost
setting relayhost:
setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
setting mailbox_size_limit: 0
setting recipient_delimiter: +
setting inet_interfaces: all
setting inet_protocols: all
/etc/aliases does not exist, creating it.
WARNING: /etc/aliases exists, but does not have a root alias.

Postfix (main.cf) is now set up with a default configuration.  If you need to
make changes, edit /etc/postfix/main.cf (and others) as needed.  To view
Postfix configuration values, see postconf(1).

After modifying main.cf, be sure to run 'service postfix reload'.

Running newaliases
正在处理用于 ureadahead (0.100.0-21) 的触发器 ...
正在处理用于 systemd (237-3ubuntu10.56) 的触发器 ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 rsyslog (8.32.0-1ubuntu4.2) 的触发器 ...
正在处理用于 ufw (0.36-0ubuntu0.18.04.2) 的触发器 ...
正在处理用于 libc-bin (2.27-3ubuntu1.6) 的触发器 ...

2.3、配置GitLab 软件源镜像

        通过如下命令来配置GitLab软件镜像:

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

        执行后会有如下信息输出:

2.4、安装GitLab

        通过如下命令安装GitLab:

sudo apt-get install gitlab-jh

        命令执行后会有如下信息输出:

 2.5、启动GitLab实例

        通过如下命令启动GitLab:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl start

        sudo gitlab-ctl reconfigure执行时间较长,请耐心等待。执行完成之后通过如下命令来查看GitLab的状态:

sudo gitlab-ctl status

2.6、配置防火墙

        通过如下命令配置防火墙:

sudo ufw allow https
sudo ufw allow http
sudo ufw allow ssh
sudo ufw enable
sudo ufw status

        命令执行后会有如下信息输出:

2.7、设置GitLab自启动

        通过如下命令设置GitLab服务自启动:

systemctl enable gitlab-runsvdir.service

2.8、GitLab登陆

        访问 Linux 服务器 IP 地址即可,如果想访问 EXTERNAL_URL 指定的域名还需要配置 域名服务器或本地 hosts 文件。 初次登录时需要为 gitlab 的 root 用户设置密码。

 

### 本地搭建 GitLab 服务器 GitLab 是一个流行的 DevOps 生命周期管理和版本控制系统,它不仅支持代码托管还集成了CI/CD等强大功能。要在本地环境中部署 GitLab 服务,您可以选择直接安装在物理机上或是通过虚拟化技术如 Docker 容器来进行快速部署。 #### 使用 Omnibus 包安装 (适用于主流 Linux 发行版) 这是官方推荐的方式之一: 1. **更新系统包**: ```bash sudo apt update -y # 对于基于 Debian 的系统 ``` 2. **添加 GitLab APT 或 YUM 源并下载证书**: 根据您的操作系统架构访问 [GitLab 下载页面](https://about.gitlab.com/install/) 获取适合您系统的命令,并按照说明操作。 3. **开始安装过程**: 执行从上面链接获得的具体指令来安装软件包,通常会像这样: ```bash EXTERNAL_URL="http://your_server_ip" sudo apt install gitlab-ce ``` 4. **配置与启动** 安装完成后,默认会在80端口提供Web界面供用户访问;如果您想修改默认设置,则需要编辑 `/etc/gitlab/gitlab.rb` 文件后再运行 `sudo gitlab-ctl reconfigure`. 5. **完成初始化向导** 首次打开浏览器输入服务器IP地址后将自动进入初始配置流程,在这里可以设定管理员密码及基本信息等内容。 #### 利用Docker容器构建环境 对于想要尝试更简单的解决方案的人来说,Docker可能是更好的选择因为它几乎可以在任何地方无缝工作而无需担心依赖项的问题。 ```dockerfile # 创建一个新的网络以便让其他应用能够连接到GitLab实例 docker network create gitlab-net # 启动 GitLab 容器 docker run --detach \ --hostname gitlab.example.com \ # 替换成实际域名或 IP 地址 --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ --network=gitlab-net \ gitlab/gitlab-ce:latest ``` 上述命令将会拉取最新的稳定版镜像并在后台启动容器。请注意映射主机目录用于持久存储数据以防意外丢失。 --- 无论哪种方式都可以轻松地让您拥有一套完整的企业级源码管理工具链!
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值