一、理论
1.GitLabCI
(1) 概念
GitLab CI(Continuous Integration)是一种持续集成工具,它可以帮助开发团队在代码提交后自动构建、测试和部署项目。GitLab CI通过Pipeline(流水线)来实现这些功能。Pipeline是一个序列化的任务列表,每个任务代表了一个阶段的构建、测试或部署操作。
(2)特点
GitLabCI Pipeline的主要特点包括:
1) 阶段(Stages):Pipeline由一个或多个阶段组成,每个阶段表示一个构建、测试或部署环节。阶段按照顺序执行,每个阶段完成后,才会继续执行下一个阶段。
2) 任务(Jobs):任务是Pipeline中的一个基本单元,代表一个阶段的某个操作。任务可以包括构建、测试、部署等环节。同一个阶段可以有多个任务,这些任务会并行执行。
3) 触发器(Triggers):Pipeline的触发器用于指定在什么情况下启动Pipeline。例如,可以设置Pipeline在代码提交、合并请求或标签添加等事件触发时自动启动。
4) 配置(Configuration):Pipeline的配置包括了一系列参数,如构建服务器、运行器、标签等。这些配置可以在GitLab CI的配置文件(如`.gitlab-ci.yml`)中进行设置。
5) 运行器(Runners):运行器是GitLab CI的实际执行者,它负责执行Pipeline中的任务。运行器可以在不同的环境中部署,如本地、云平台或容器等。
6) 代理(Agents):代理是运行在运行器上的软件,用于与GitLab CI服务器通信。代理可以执行GitLab CI服务器发布的命令,如构建、测试等。
(3)目标
通过GitLabCI Pipeline,开发团队可以实现自动化的工作流,提高项目开发的效率和质量。当代码提交后,GitLab CI会自动触发Pipeline,依次执行各个阶段的任务,直至项目构建、测试和部署完成。这有助于及时发现和修复代码问题,确保项目的稳定性和可靠性。
二、实验
1.搭建共享库项目
(1)新建项目
(2)app01项目来跑流水线
(3)修改代码
(4)app01提交
(5)成功
(8)共享库目录
(11)保存地址
(12)库改为公共public
(13)组改为公共public
(14)库改为公共public
(16)手动跑流水线
(17)提交
(18)成功
2.GitLabCI 通过trigger触发流水线
(2)添加token
(4)查看项目ID
(9)添加2个参数
(10)点击发送
(11)查看此时最后一个流水线是131
(12)成功触发流水线132
(13)显示状态为成功
(15)查看日志
(16)查看流水线触发命令
(17)查看项目目录
(18)提交,用项目app02 去触发app01
(19)项目app02已触发app01,并睡眠100秒
(20)睡眠结束显示都已完成
(21)查看app02 的流水线133日志
(22)查看app01 的流水线134日志
(24)app02项目设置CICD
(25)找到变量
(27)显示已添加变量
(29)查看此时的流水线,app01为134,app02为135
(30)提交
(31)成功
(32)查看app02 的流水线136日志
(33)查看app021的流水线137日志
(34)查看webhook命令
(36)点击添加
(38)发送成功
(39)显示成功
(40)显示被触发
(41)查看日志
(43)提交代码
(44)postman添加变量重新触发
(45)发送成功
(46)触发流水线154成功
(47)显示成功
三、问题
1.项目app02未触发项目app01
(1)问题
(2)原因分析
(3)解决方法
修改变量的引用
修改前:
修改后:
2.GitLab 报502网关错误
(1)报错
(2)原因分析
webhook地址格式引用错误,发起大量无效请求,造成服务宕机
(3)解决方法
修改GitLab配置文件
vim /etc/gitlab/gitlab.rb
重新配置
gitlab-ctl reconfigure
重启
gitlab-ctl restart
查看进程
成功:
原文地址:https://blog.csdn.net/cronaldo91/article/details/134604700
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_3571.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!