如何在 GitHub Actions 工作流程中实现 Docker 镜像的语义版本控制?

Mik*_*laj 9 semantic-versioning docker github-actions

我想通过 GitHub Actions 工作流程实现以下 CI 管道。

拉取请求已合并 -> 正在触发 GitHub 操作 -> 正在使用语义版本递增 1 构建 docker 镜像,或者版本基于 GitHub 标签 - 如果可以以某种方式标记拉取请求合并。

如何实现这一目标或者是更好的方法?

我尝试过秘密,但没有成功。如何在 GitHub Actions 工作流程中实现语义版本控制?

小智 3

name: Docker Image CI

on:
  push:
    branches: [ master ]

jobs:

  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Build the Docker image
      run: docker build . --file Dockerfile --tag my-image-name:${{github.ref_name}}
Run Code Online (Sandbox Code Playgroud)

${{github.ref_name}}为您拉取标签或像git describe --abbrev=0 上一步一样运行 git 命令来获取最新标签并将其附加到图像名称并使用它,如下所示:

- name: Get Tag
  id: vars
  run: echo ::set-output name=tag::${git describe --abbrev=0}
- name: Build the Docker image
  run: docker build . --file Dockerfile --tag my-image-name:${{ steps.vars.outputs.tag }}
Run Code Online (Sandbox Code Playgroud)