Gitlab runner的简单使用(一)

news/2024/9/19 14:32:00 标签: gitlab, elasticsearch, 大数据

Gitlab runner的简单使用(一)

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

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

gitlabciyml__5">创建 .gitlab-ci.yml 文件

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

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

# 定义阶段
stages:
  - log

# 定义作业
log_commit_message:
  stage: log
  script:
    # 获取最后一次提交的消息
    - echo "Last commit message:" > commit_log.txt
    - git log -1 --pretty=%B >> commit_log.txt
    - echo "Commit log has been recorded."
  only:
    # 仅在 main 分支有提交时触发
    - main
  artifacts:
    # 保存生成的日志文件作为构件
    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 文件,这样作业结束后可以查看和下载该日志文件。

gitlabciyml__44">提交 .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.niftyadmin.cn/n/5665703.html

相关文章

PDF转图片的思路思考

记录时间:2022年9月1日 PDF转图片库的使用和扩展 python有几个开源的免费的处理Pdf的库,甚至有的已经有很完善的功能了。我发挥一下自己的所学,看看能不能把它变为可用的一程序。 首先是了解PDF处理库PyMupdf,这个库得到路径之后普就可以对…

Vue.js 的 Mixins

Vue.js 的 Mixins 是一种非常强大且灵活的功能,它允许你封装可复用的 Vue 组件选项。Mixins 实际上是一种分发 Vue 组件可复用功能的非常灵活的方式。一个 mixin 对象可以包含任意组件选项。当组件使用 mixin 时,所有 mixin 选项将被“混入”该组件本身的…

解决nginx代理SSE接口的响应没有流式返回

目录 现象原来的nginx配置解决 现象 前后端分离的项目,前端访问被nginx反向代理的后端SSE接口,预期是流式返回,但经常是很久不响应,一响应全部结果一下子都返回了。查看后端项目的日志,响应其实是流式产生的。推测是n…

Xilinx系FPGA学习笔记(九)DDR3学习

系列文章目录 文章目录 系列文章目录前言DDR介绍DDR的IP核学习接口信号解析读写流程分析AXI 前言 这里暂时先只介绍一下IP核配置生成和一些接口信号的含义,后续还需要补很多知识点和实际测试应用 DDR介绍 DDR3 已不是当今主流的 DDR 存储器,市场上的 …

axure的下载,激活,汉化全过程,多图

1.前言 下载地址:https://pan.baidu.com/s/12xo1mJer2hmBK7QrYM5v-Q?pwd0107#list/path%2Fcsdn%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6 源文章:https://blog.csdn.net/iwanttostudyc/article/details/123773796?ops_request_misc%257B%2522request%25…

【学术会议征稿】第四届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2024)

第四届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2024) 2024 4th International Conference on Information Control, Electrical Engineering and Rail Transit 欢迎参加第四届信息控制、电气工程及轨道交通国际学术会议 (ICEERT 2024),会议将…

【Django】Django REST Framework接口实现详解:从APIView到ModelViewSet

Django REST Framework接口实现详解:从APIView到ModelViewSet 在Web开发中,设计RESTful API接口时,Django REST Framework(DRF)是一个非常强大的工具。DRF提供了丰富的类视图(CBV)实现方式&…

低代码开发平台系统架构概述

概述 织信低代码开发平台(产品全称:织信Informat)是一款集成了应用设计、运行与管理的综合性平台。它提供了丰富的功能模块,帮助用户快速构建、部署和维护应用程序。织信低代码平台通过集成丰富的功能模块,为用户提供…