GitLab私有化部署 – CI/CD – 持续集成/交付/部署 – 源代码托管 & 自动化部署

3.1 AlmaLinux8.6 operating system 安装

AlmaLinux官网:https://almalinux.org
Linux系统的安装过程中,这里只提一点,需要注意的是,后续在系统中安装GitLab时,GitLab的安装包有800+MB,遇到系统boot分区空间不足的现象,这里计划将系统的 /boot 分区调整为1GB以上的空间。

下图为安装AlmaLinux8.6时的boot分区设置:

GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

以上现象有没有其它方式解决,咱不知晓,这里选择调整分区大小的方式解决。

3.2 GitLab 安装

参考官方提供的安装要求 https://gitlab.cn/install/

3.2.1 安装前提

关于防火墙,需要打开 HTTP、HTTPS 和 SSH 访问。通常Linux都会默认安装了SSH等常用工具。
(可选) 如果您打算仅从本地网络访问极狐GitLab,则可以跳过它。

OpenSSH 的安装
dnf install -y curl policycoreutils openssh-server openssh-clients
开启开机自启动
systemctl enable sshd
启动 OpenSSH 服务
systemctl start sshd
#
配置永久开启防火墙 http、https
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
配置生效
systemctl reload firewalld

(可选) GitLab 通过 Postfix 发送电子邮件通知,或者跳过此步骤使用其他解决方案发送电子邮件。

Postfix 的安装
dnf install postfix
开启开机自启动
systemctl enable postfix
启动 Postfix 服务
systemctl start postfix

3.2.2 下载 GitLab 软件源镜像

先下载官方 GitLab 镜像仓库,为了便于后续从此镜像库中安装 GitLab 应用。

命令下载安装包
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

GitLab 镜像库下载完成后的说明:
1、镜像库文件 gitlab-jh.repo 保存于 /etc/yum.repos.d/ 目录中
2、生成 gitlab-jh 镜像的缓存
3、再安装 gitlab-jh
如下图所示:

GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

3.2.3 安装 GitLab 应用到系统

按照上一步的说明:
先刷新镜像缓存(这步不是必须,为了后续的快速安装)
dnf clean all && dnf makecache
再安装名为 gitlab-jh 的应用到系统,并绑定访问地址
sudo EXTERNAL_URL="http://{所在服务器IP或域名}" dnf install -y gitlab-jh
以上仅用 http 的方式,这里不用 https 方式。

3.2.4 登录到 GitLab 管理页面

安装成功后,首次登陆自动生成的密码存放于: /etc/gitlab/initial_root_password 中(只有24H的保留期限)

查看初始密码
cat /etc/gitlab/initial_root_password

在浏览器中打开访问地址; 安装时设置的 http://{所在服务器IP或域名}
启动慢,出现502,需要耐心等待几分钟。
然后使用默认管理员账号 root 和查找到的初始密码 进行登录,记得修改初始密码。

3.3 在 GitLab 中创建项目

为后续的测试效果,这里创建名为 my-project-test 的测试项目,登录页注册用户,管理员后台审核通过,为测试项目添加成员,设置项目成员的相应权限。这里将成员授予 Maintainer 角色。
或创建用户组,把用户组赋予项目,并赋予相应权限。

本地编写源代码,实现文件属性时间的读取功能,并签入到 GitLab 创建的 my-project-test 测试项目中。如下图所示:

GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

到此,通过 GitLab 中提供的功能,实现了源代码的托管。接下来,为自动部署做准备工作。

3.4 Git 安装

安装 Git 是为了,在自动化部署时,这里计划用 Git 工具来远程拉取源代码,以便于后续的编译发布动作。

dnf install git -y

3.5 dotnet 环境

在自动化部署时,需要有编译发布过程,所以这里需要安装 dotnet-sdk (SDK包括:build、publish、runtime等)
首先安装微软官方提供的镜像库,以便于从微软镜像库中安装所需的 dotnet-sdk 等。
微软官方提供的镜像站:https://packages.microsoft.com/config/

这里选用与环境适配的软件库 RHEL8版 下载到 /etc/yum.repos.d/ 中
curl -o /etc/yum.repos.d/prod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
重建镜像库缓存
dnf clean packages && dnf clean all && dnf makecache
#
先安装运行 dotnet 时必要的 libicu 工具
dnf install libicu -y
安装适合于开发环境的 dotnet-sdk-6.0
dnf install dotnet-sdk-6.0 -y

后续站点部署完成后,计划的站点访问端口定为5000,这里预先开启防火墙5000的端口:

开放测试站点访问的5000端口
firewall-cmd --zone=public --add-port=5000/tcp --permanent
firewall-cmd --reload
查看已开放的端口
firewall-cmd --list-ports

3.6 GitLab-runner 安装

这里 GitLab-runner 主要是通过 GitLab 的项目中 CI/CD 自定义的流水线步骤,来完成自动化部署的任务。
依据GitLab官网安装说明:https://docs.gitlab.com/runner/install/linux-manually.html

按GitLab官网的方式,做以下步骤:
#
下载安装包到bin目录
curl -Lo /usr/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
授予安装包可运行的权限
chmod +x /usr/bin/gitlab-runner
创建 GitLab-runner 的运行账号
useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
用指定账号安装 gitlab-runner
gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
安装后的 gitlab-runner 服务管理
gitlab-runner start     # 启动
gitlab-runner stop      # 停止

3.7 注册 GitLab-runner

首先查看在GitLab项目页面的 菜单 > 设置 > CI/CD > Runner 中提到的内容,将在接下来的注册过程中用到。如下图所示:

GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

接下来开始注册 GitLab-runner:

按照官网的描述,注册完成后,才可以使用GitLab-runner的实例
启动后的注册命令(注册过程中,需要按提示填写几项内容)
gitlab-runner register

注册过程中,填写的内容如下图所示:

GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署
注册完成后,页面 Runner 区域会多出一个

Original: https://www.cnblogs.com/Sol-wang/p/16775377.html
Author: Sol·wang
Title: GitLab私有化部署 – CI/CD – 持续集成/交付/部署 – 源代码托管 & 自动化部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/801044/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球