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: 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
配置文件解析
-
stages: 这里我们定义了一个阶段,名为
log
。GitLab CI/CD 中的阶段用于将流水线作业分组。在这个例子中,我们只有一个阶段,专门用于记录提交日志。 -
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
作业:
- GitLab Runner 会检测到在
main
分支的提交。 - 按照
.gitlab-ci.yml
中的定义,log_commit_message
作业会被触发。 - GitLab Runner 会执行该作业的脚本,生成一个包含最后一次提交消息的
commit_log.txt
文件。 - 生成的日志文件将被保存在作业的构件(Artifacts)中,可以通过 GitLab 的界面查看和下载。
查看作业日志
要查看日志文件:
- 在 GitLab 项目中,进入
CI/CD > Pipelines
页面。 - 找到最近一次在
main
分支上触发的流水线,点击进入。 - 在
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/