当前位置:首页 > 每日看点 > 正文内容

离线可否搭建 GitLab 环境?

卡卷网1年前 (2024-11-25)每日看点274

背景:

为什么要使用GitLab CI/CD?

统一工作流程:GitLab CI/CD 为开发、测试和运维团队提供了一个统一的工作流程。开发人员提交代码后,测试人员可以清楚地看到代码的构建和测试情况,运维人员也可以了解软件的部署进度。例如,在一个大型企业级项目中,不同部门的人员可以通过 GitLab CI/CD 的界面查看各个阶段的任务状态,避免了沟通不畅和信息孤岛的问题。

快速可靠的部署:持续交付允许将经过测试的软件版本快速、可靠地发布到测试环境或预生产环境。例如,在一个移动应用开发项目中,开发团队可以通过 CD 管道将新的应用版本自动部署到内部测试平台,供测试人员进行功能测试和验收测试。持续部署则更进一步,在满足一定条件(如所有测试通过、经过人工审批等)后,可以将软件自动部署到生产环境。这大大缩短了从代码提交到软件上线的周期,使企业能够更快地响应市场需求。

快速反馈:开发人员可以频繁地将代码提交到版本控制系统(如 GitLab)。每次提交后,GitLab CI/CD 会自动触发构建和测试过程。例如,在一个 Web 应用开发项目中,当开发人员修改了某个功能模块的代码并提交后,CI 管道会立刻检查代码是否能够正确编译,以及单元测试是否通过。如果有问题,开发人员可以及时得到反馈并进行修复,避免了问题在代码库中积累,大大减少了集成阶段的错误。

代码质量保证:通过在 CI 过程中运行各种自动化测试,包括单元测试、集成测试和代码规范检查等,可以确保代码质量。以一个 Python 项目为例,在 CI 管道中可以使用工具如 pytest 进行单元测试,使用 flake8 进行代码风格检查。这样可以强制开发团队遵循统一的代码质量标准,提高整个项目的代码质量。

环境搭建:ubuntu 22.04

离线可否搭建 GitLab 环境?  第1张

操作系统

安装包下载:(国内清华源镜像)

mirrors.tuna.tsinghua.edu.cn

mirrors.tuna.tsinghua.edu.cn

离线可否搭建 GitLab 环境?  第2张

下载的文件

gitlab ce环境搭建:

离线可否搭建 GitLab 环境?  第3张

安装包

将安装包拷贝到Ubuntu主机上:

使用命令安装:

sudo dpkg -i gitlab-ce_17.5.2-ce.0_amd64.deb ;如有依赖项目,使用命令补全 sudo apt install -f

安装完成后,使用命令:

sudo vim /etc/gitlab/gitlab.rb ;配置gitlab 主文件 ;主要是修改:external_url:

离线可否搭建 GitLab 环境?  第4张

配置文件修改

修改完成后,运行命令:

sudo gitlab-ctl reconp

登录用户名为:root

密码在这个文件里面,使用cat命令查看: sudo cat /etc/gitlab/initial_root_password

到此,gitlab ce 环境已经搭建完毕。

最后查看服务器状态:

离线可否搭建 GitLab 环境?  第5张

服务器状态


gitlab runner 环境搭建及注册:

  1. 登录系统,来到:Admin area -> CI/CD -> Runners

离线可否搭建 GitLab 环境?  第6张

runners

离线可否搭建 GitLab 环境?  第7张

runner installation

点击,打开安装指引,这里有各个系统的安装、注册指引;

不过这里的下载地址是aws上面的,下载速度比较慢,可以下载上述的第二个 链接;


离线可否搭建 GitLab 环境?  第8张

教程采用离线安装包安装runner:

离线可否搭建 GitLab 环境?  第9张

首先将安装文件copy到目标主机,目标主机也是ubuntu2204的系统,也可以用其他的系统,比如windows或者macos,依据你自己的需要来定;

使用如下两个命令来安装,期间有提示需要安装docker,如果需要使用docker,需要先安装;

sudo dpkg -i gitlab-runner_17.6.0-1_amd64.deb sudo apt install -f

这里有一个问题:

默认使用的账号是:GitLab Runner,windows使用的是System账号;这里比较坑。

最好换成当前的账号,例如我当前的账号是ubuntu,可以这样操作:

# 先下载原来的runner sudo gitlab-runner uninstall # 以当前用户来安装服务; sudo gitlab-runner install --user=ubuntu --working-directory=/home/ubuntu # 查看状态 sudo gitlab-runner status # 启动runner sudo gitlab-runner start # 注册runner sudo gitlab-runner register --url http://192.168.2.14/ --registration-token _TADoyyiTEyncuDssAJN 这里按照提示一步一步来,Executor 我选的shell

离线可否搭建 GitLab 环境?  第10张

注册

注册成功后,可以到Runners下面看:

离线可否搭建 GitLab 环境?  第11张

注意这里的tag,要和.gitlab-ci.yml里面的tag对应起来,否则Job会一直pending,找不到Runner,我是有4个环境,比如c++ / golang / Rust ,还有Linux环境和Windows环境,每个项目打包的环境独立的VM。所以我会指定tag,具体的根据你 自己的需求来定。

测试项目:

离线可否搭建 GitLab 环境?  第12张

测试C++文件:

#include <iostream> using namespace std; int main(int argc, char const *argv[]) { std::cout << "hello world cpp" << std::endl; return 0; }

测试yml文件:

stages: - build - deploy build: stage: build tags: - cpp script: g++ -Wall -g main.cpp -o app artifacts: paths: - app untracked: false when: on_success access: all expire_in: "30 days" deploy: stage: deploy tags: - cpp script: - whoami - hostname - echo "Create Directory" - mkdir -p /home/ubuntu/utools - echo "Begin to copy files" - cp ./app /home/ubuntu/utools/app


如果job成功,会看到如下提示:

离线可否搭建 GitLab 环境?  第13张

点击 ‘Passed’可以看到详情:

离线可否搭建 GitLab 环境?  第14张

build stage

离线可否搭建 GitLab 环境?  第15张

deploy stage

总结:

这只是一个非常简单的PIPELINE,还可以完善很多,具体可以参考官方文档。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/11/1524.html

分享给朋友:

相关文章

k70和红米note14pro+咋选啊?

k70和红米note14pro+咋选啊?

首选红米K70,可满足题主的功能需求。红米 Note 14 pro+的使用者定位并不是学生,红米K70的使用者定位才是学生。一、k70和红米note14pro+各自的参数红米K70推出的定位初衷,是主打性能为主。最佳使用对象是喜欢游戏者,...

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

我给你举个真实的例子。。有一个人叫高伟东,在哈尔滨工作。在2012年做了一个APP。使用词根词缀背单词。名字叫:词根词缀词典这个人编辑了2300余条词根,给10万多条单词建立了词根索引,整理了50多万条的单词记忆方法,包括新版本的诸多新功能...

小米15就要来了,不知道小米15值不值得买?

小米15就要来了,不知道小米15值不值得买?

俗话说得好,好饭不怕晚,看似有点姗姗来迟的小米15系列,一官宣就迅速登上热搜。在此次小米14发布会上,雷军曾说过小米14将是最后一代3999起的旗舰,那么这一次涨价了的小米15,值不值得买呢?下面为大家总结一下小米15将会有哪些升级点:软件...

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目下...

有哪些好玩到爆的小网站?推荐?

有哪些好玩到爆的小网站?推荐?

1、Poki 免费在线游戏https://poki.com/zh免费在线小游戏网站。上千款在线游戏,完全免费,无需登录,打开就能玩。2、http://YORG.iohttps://yorg.io超耐玩的塔防游戏。搭建自己的防御基地、开采资源...

微信占用存储空间很大,如何解决?

微信占用存储空间很大,如何解决?

微信用久了,越来越占内存怎么办?确实如此,微信使用时间久了,如果不定期清理数据的话,就会占用特别多的内存,几G甚至几十G。你是不是也正在为这种事情而头痛?碰到这种情况,除了卸载重装微信以外,我们可以通过下面几种方法来释放内存。方法一:删除应...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。