Gitlab runner的简单使用(一)

Gitlab runner的简单使用(一)

使用 GitLab CI 配置文件在 main 分支提交时触发作业

GitLab CI/CD 提供了一种强大的方式来自动化软件开发过程,包括构建、测试和部署应用程序。在这篇文章中,我们将介绍如何通过 GitLab CI 配置文件(.gitlab-ci.yml),在代码提交到 main 分支时触发一个简单的作业。这个作业的内容是记录提交日志并将其保存在 Runner 的日志文件中。

创建 .gitlab-ci.yml 文件

要实现这一目标,首先需要在项目的根目录下创建一个 .gitlab-ci.yml 文件。这个文件用于定义 CI/CD 管道以及各个作业的执行条件和步骤。

下面是一个简单的 .gitlab-ci.yml 配置示例,用于在 main 分支有提交时触发一个作业:

# 定义阶段
stages:- log# 定义作业
log_commit_message:stage: logscript:# 获取最后一次提交的消息- echo "Last commit message:" > commit_log.txt- git log -1 --pretty=%B >> commit_log.txt- echo "Commit log has been recorded."only:# 仅在 main 分支有提交时触发- mainartifacts:# 保存生成的日志文件作为构件paths:- commit_log.txt

配置文件解析

  1. stages: 这里我们定义了一个阶段,名为 log。GitLab CI/CD 中的阶段用于将流水线作业分组。在这个例子中,我们只有一个阶段,专门用于记录提交日志。

  2. log_commit_message 作业:

    • stage: log:指定该作业属于 log 阶段。
    • script:这里定义了作业的脚本。脚本的作用是获取最近一次的提交信息,并将其写入 commit_log.txt 文件中。
      • git log -1 --pretty=%B:这个命令会提取最后一次提交的提交消息。
    • only: - main:这个关键字指定了作业只会在 main 分支上有提交时才会触发。这确保了我们只有在主要分支上工作时,日志记录作业才会执行。
    • artifacts:通过 artifacts 关键字,我们指定要保存的文件。这里我们选择保存 commit_log.txt 文件,这样作业结束后可以查看和下载该日志文件。

提交 .gitlab-ci.yml 文件

.gitlab-ci.yml 文件提交到项目的 main 分支中:

git add .gitlab-ci.yml
git commit -m "Add CI configuration for logging commit messages"
git push origin main

作业的执行

每当有代码提交到 main 分支时,GitLab 会自动触发 log_commit_message 作业:

  1. GitLab Runner 会检测到在 main 分支的提交。
  2. 按照 .gitlab-ci.yml 中的定义,log_commit_message 作业会被触发。
  3. GitLab Runner 会执行该作业的脚本,生成一个包含最后一次提交消息的 commit_log.txt 文件。
  4. 生成的日志文件将被保存在作业的构件(Artifacts)中,可以通过 GitLab 的界面查看和下载。

查看作业日志

要查看日志文件:

  1. 在 GitLab 项目中,进入 CI/CD > Pipelines 页面。
  2. 找到最近一次在 main 分支上触发的流水线,点击进入。
  3. log_commit_message 作业中,可以看到作业的执行详情。点击 Download 按钮来下载 commit_log.txt 日志文件。

参考链接

  • GitLab CI/CD 官方文档: https://docs.gitlab.com/ee/ci/
  • GitLab Runner 官方文档: https://docs.gitlab.com/runner/
  • GitLab CI/CD YAML 配置参考: https://docs.gitlab.com/ee/ci/yaml/

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145235.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

File-io流

File 创建file的对象 创建一个file对象,指代某个具体文件 File file new File("C:\\Users\\刘翀羽\\Pictures\\Screenshots"); //文件大小 System.out.println(file.length()); 路径分隔符 用 File.separator 代表 File f2…

零信任安全架构--最小权限原则

最小权限原则(Principle of Least Privilege, PoLP)是零信任安全架构中的核心理念之一,旨在确保用户、设备、应用等系统实体只拥有完成其任务所必需的最低权限,避免不必要的权限扩展,从而降低安全风险。 1. 概念 最小…

WordLlama:在消费级GPU上奔跑的“瘦子”

David Miller表示该模型的目标很明确:弥合尖端 AI 研究和实际应用之间的差距。他认识到,许多现有 NLP模型需要大量的计算资源,并且通常局限于专有系统,从而限制了它们的可访问性。作为回应,WordLlama被设计为既轻量级又…

2017年国赛高教杯数学建模C题颜色与物质浓度辨识解题全过程文档及程序

2017年国赛高教杯数学建模 C题 颜色与物质浓度辨识 比色法是目前常用的一种检测物质浓度的方法,即把待测物质制备成溶液后滴在特定的白色试纸表面,等其充分反应以后获得一张有颜色的试纸,再把该颜色试纸与一个标准比色卡进行对比&#xff0c…

计算机网络34——Windows内存管理

1、计算机体系结构 2、内存管理 分为连续分配管理和非连续分配管理 在块内存在的未使用空间叫内部碎片,在块外存在的未使用空间叫外部碎片 固定分区分配可能出现内部碎片,动态分区分配可能出现外部碎片 3、逻辑地址和实际地址的互相转换 4、缺页中断 …

基于Python的自然语言处理系列(13):TorchText + GRU + 上下文向量 + Teacher Forcing

在上一篇文章中,我们使用了LSTM来构建一个序列到序列模型(seq2seq)。虽然LSTM表现良好,但我们想看看能否通过使用门控循环单元(GRU)并改进信息压缩的方式来提升模型性能。GRU和LSTM在很多场景下表现相似&am…

如何查看linux上对应的dhcp服务器IP是多少

如何查看linux上对应的dhcp服务器IP是多少 要查看 Linux 系统上对应的 DHCP 服务器 IP 地址,可以通过以下几种方法: 1. 检查 DHCP 客户端日志 在 DHCP 客户端获取 IP 地址的过程中,DHCP 服务器的 IP 地址通常会记录在系统日志中。可以使用…

卷王阿里又开启价格战,大模型价格降价85%!

我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 9月19日,就是昨天,一年一度的云计算盛…

Lodash的特点和功能

Lodash是一个一致性、模块化、高性能的JavaScript实用工具库。它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,通过降低这些常见数据类型的使用难度,从而让JavaScript编程变得更加简单和高效。 Lodash的特点和功能主要包括以下几个方面&…

SQL优化-MySQL Explain中出现Select tables optimized away

文章目录 前言相关解释总结 前言 今天在做SQL优化的时候,在使用explain执行SQL时,出现了以下情况: EXPLAIN SELECT m1.id from station m1 INNER JOIN site s ON m1.codes.stationcode where receivetime(SELECT MAX(m2.receivetime) FROM…

Spring Cloud Alibaba-(4)Sentinel【流控和降级】

Spring Cloud Alibaba-(1)搭建项目环境 Spring Cloud Alibaba-(2)Nacos【服务注册与发现、配置管理】 Spring Cloud Alibaba-(3)OpenFeign【服务调用】 Spring Cloud Alibaba-(4)Sen…

性能测试怎么规划测试计划?

各位好,我是 道普云 一站式云测试SaaS平台。一个在软件测试道路上不断折腾十余年的萌新。 欢迎关注我的专栏和我的主页 道普云 文章内容具有一定门槛,建议先赞再收藏慢慢学习,有不懂的问题欢迎私聊我。 (双击屏幕有新大陆&am…

oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据

date sysdate to_date 插入从表中查出的数据 方式一 方式二 或者指定列名称 下边这个案例的前提是指定列插入,如果不指定,则也是默认的

无限制范围动作捕捉:Xsens如何解决超大范围动捕挑战?

在现代电影制作、游戏开发、虚拟现实(VR)以及流媒体内容创作中,动作捕捉(Motion Capture,简称“动捕”)技术已成为不可或缺的一部分。然而,传统动捕技术往往受限于其工作范围,这使得…

基于 SpringBoot 的在线考试系统

专业团队,咨询就送开题报告,欢迎大家私信留言,联系方式在文章底部 摘 要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化管理。则对…

打点-heapdump信息泄露-shiro反序列化获得root权限shell

fscan 扫描结果 heapdump 下载 使用 JDumpSpider-1.1-SNAPSHOT-full.jar 分析,获取 shiro 密钥 验证 爆破利用链 命令执行

LabVIEW提高开发效率技巧----合理使用数据流与内存管理

理使用数据流和内存管理是LabVIEW开发中提高性能和稳定性的关键,特别是在处理大数据或高频率信号时,优化可以避免内存消耗过大、程序卡顿甚至崩溃。 1. 使用 Shift Register 进行内存管理 Shift Register(移位寄存器) 是 LabVIE…

【正点原子K210连载】第三十八章 image码识别实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第三十八章 image码识别实验 在上一章节中,介绍了image模块中图像对比方法给的使用,本章将继续介绍image模块中码识别方法的使用。通过本章的学习,读者将学习到image模块中码识别的使用。 本章分为如下几个小节: 38.1 image模块码…

excel 单元格一直显示年月日

excel 单元格一直显示年月日,在单元格上右键选择单元格格式,选择日期时单元格会显示成日期格式

HTML入门笔记

概述 HTML(超文本标记语言—HyperText Markup Language)是构成 Web 世界的基础,是一种用来告知浏览器如何组织页面的标记语言。 超文本 Hypertext:指连接单个或多个网站间的网页链接,通过这些链接可以访问互联网中的…