小型CI/CD搭建(TODO)

发布于:2025-06-27 ⋅ 阅读:(18) ⋅ 点赞:(0)

1 方案

因为是在国内,所以gitbub Actions,​​Azure DevOps​这些就直接拜拜了。

目前主流的大概是三种:

1 阿里云效/腾讯云CODING

2 GitLab CE+ GitLab Runner

3 Gitee + Jenkins 

deepeseek比较了一下如下:

阿里云效 vs GitLab vs Jenkins 核心对比表​

​维度​ ​阿里云效(阿里云 DevOps)​ ​GitLab(自托管版)​ ​Jenkins(自托管)​
​部署方式​ 全托管 SaaS 自托管(服务器/K8s) 自托管(服务器/Docker)
​代码托管​ 集成 Codeup(Git) 内置 Git 仓库(CE/EE版) 需外接(如 Gitee/GitHub)
​CI/CD 引擎​ 内置流水线(Flow) 内置 GitLab CI/CD(YAML 配置) 通过插件实现(Groovy/Declarative Pipeline)
​构建速度​ 快(阿里云内网资源) 中等(依赖自建 Runner 性能) 慢(需手动优化构建环境)
​制品管理​ 集成 ACR(容器镜像) 内置 Package Registry(支持多种格式) 需外接(如 Nexus/Harbor)
​K8s 集成​ 深度集成 ACK(一键部署) 需配置 Runner 或 Argo CD 需安装 Kubernetes 插件
​权限管理​ 阿里云 RAM 子账号体系 内置 RBAC(支持 LDAP/AD) 依赖插件(如 Matrix Authorization)
​网络适应性​ ⭐⭐⭐⭐⭐(国内无延迟) ⭐⭐(需自建镜像加速) ⭐⭐⭐(依赖代码托管平台网络)
​合规性支持​ 等保/国资云预置 需自行配置审计日志 无原生支持
​扩展性​ 仅支持阿里云生态 高(开源可修改代码) 极高(超 1800 个插件)
​学习成本​ 低(图形化界面) 中等(需学习 YAML 语法) 高(需掌握 Groovy/插件配置)
​成本(10人团队/年)​ ¥7k~10k(含云资源) ¥8k~15k(服务器+运维) ¥6k~12k(服务器+插件成本)

以前我这边是用过Jenkins的方案,不过感觉这个比较重型,人员投入不少。据说GitLab要轻量一下。

至于阿里云效,感觉也是一个不错的选择,这样用的话会省下运维的成本,此外支持也会比自建更好。但是貌似现在用的人比较少,后面再观察观察吧。所以这次还是重点基于GitLab搭建。

GitLab整体架构如下:

​组件​ ​推荐工具​ ​关键配置​
​代码托管​ GitLab CE(自托管) 利用其 Issues 管理设备固件版本,Wiki 存储规则链文档
​CI/CD​ GitLab CI + K8s Runner 分阶段构建:
1. mvn package → 2. Docker 镜像推送 → 3. Argo CD 同步到 K8s
​制品库​ Harbor(自建) 扫描 ThingsBoard 镜像的 CVE 漏洞(Java 依赖需重点监控)
​部署​ Kubernetes(阿里云 ACK) 使用 Helm Chart 管理 TB 服务:
helm install thingsboard ./thingsboard
​设备模拟​ 自建 JMeter + MQTT 插件 自动化压力测试(模拟 10W+ 设备连接)

2 搭建

2.1 安装GitLab

在安装时候要看看目标机器的配置,我自己的云是阿里云乞丐版那种,内存2G。就运行不起来,直接把系统给拉死掉。没办法,服务器现在也没到货,只有在自己的WSL先安装。我的配置是i7+32G。

步骤如下:

# 添加 GitLab 仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

# 安装 GitLab CE
sudo EXTERNAL_URL="http://your-ip-or-domain" apt install gitlab-ce -y

# 启动 GitLab
sudo gitlab-ctl reconfigure

安装完成后,但是我这边运行是出现了报错,仔细一查原来是端口冲突,按照这个方法直接修改即可。安装gitlab遇到502报错及安装完输入地址显示网页无法连接_gitlab-shell self-check failed-CSDN博客

之后就可以正常登录

创建了一个测试项目

创建项目拉项目也很方便

2.2 安装GitLab Runner

# 安装依赖
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash

# 安装 Runner
sudo apt install gitlab-runner -y

3 运行使用

3.1 配置 

首先要对runner进行配置。 

3.2 工程实例

做了一个最简单java的maven构建工程。

关键是根目录下面配置一个yml文件。

hp@DESKTOP-430500P:~/cicd/test$ cat .gitlab-ci.yml
build-job:
  stage: build
  script:
    - mvn clean package  # 确保使用package而不是compile
  artifacts:
    paths:
      - target/*.jar     # 保存可执行JAR

提交上去就会自动构建。

不过现在runner还有点问题。待完善。。。 


网站公告

今日签到

点亮在社区的每一天
去签到