小型CI/CD搭建(TODO)

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还有点问题。待完善。。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值