Gitlab CI/CD介绍

基本概念

GitLab CI/CD(持续集成/持续部署)流水线是GitLab平台提供的一项强大功能,旨在通过自动化构建、测试和部署过程,提高开发团队的效率和软件发布的质量。

CI(Continuous Integration) :持续集成,是指频繁地将代码集成到主干,通过自动化测试来确保集成的代码的稳定性。

CD(Continuous Delivery/Deployment) :持续交付/部署,可以看作是持续集成的下一步。持续交付是指在持续集成的基础上,不仅会自动构建和测试应用,还可以手动触发部署流程进行应用部署;而持续部署则更进一步,其部署过程是自动触发的。

核心功能

自动化构建 :每次代码提交或合并请求被接受时,GitLab CI/CD都会自动触发构建过程,确保代码可以成功编译。可以理解为GitLab自动 对 提交的代码进行构建、测试 等。

自动化测试 :在构建完成后,流水线会自动运行测试脚本,包括单元测试、集成测试等,以确保代码的质量和稳定性。

自动化部署 :测试通过后,流水线可以自动将应用部署到指定的环境(如开发环境、测试环境、生产环境)中,大大缩短了从代码提交到生产环境的时间。

现实使用并非如此

一般我们将代码提交到Git,已经经过本地实际环境测试,使用Git也只是进行代码托管、版本控制、代码审查等操作,不曾关心代码在Gitlab上的构建、测试等;再者,由于提交的依赖、资源、缓存不足、并发冲突等原因,可能导致CI/CD流水线错误, 该类错误一般由于使用的少,具体原因也很难分析。所以,一般在使用Gitlab时选择关闭CI/CD功能。

CI/CD流水线错误实例

关闭CI/CD功能:

结果:

相关推荐
hasty15 小时前
安全扫描器也要被隔离:Trivy Terraform 文件读取漏洞与 CI 输出边界
安全·ci/cd·terraform
事圆则缓2 天前
Android 使用 Jenkins 实现 CI/CD,并用 SonarQube 建立质量门禁
android·ci/cd·jenkins
行者-全栈开发5 天前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地
Zhou1411366 天前
CICD_01_持续集成与Jenkins入门
运维·ci/cd·jenkins
大貔貅喝啤酒6 天前
Gitea+Jenkins+Docker 搭建 Node 项目 CI/CD 自动部署完整教程
ci/cd·docker·jenkins·js·gitea
smartpi_ai6 天前
通用脱机烧录器为什么烧不进 CI-03?下载协议的门槛、免唤醒 10 条的建议值属性
服务器·网络·ci/cd
极小狐7 天前
CI 作业里 kubectl 连不上集群?用 Kubernetes Agent 打通部署链路的 7 个步骤
ci/cd·kubernetes·gitlab·devops·k8s部署
用户837133200767 天前
AI 写的发布流程 CI 全绿,为什么仍没通过需求验收?
ci/cd·github
天天喝旺仔7 天前
CI/CD 实战:GitHub Actions 自动化构建、测试与发布流水线
ci/cd·自动化·github·devops·持续集成
浪子明X7 天前
用 CMake Presets 固定跨平台构建:从本地开发到 CI 的依赖一致性实践
java·spring·ci/cd