使用Github操作/工作流构建发布的最佳实践

时间:2020-10-20 06:18:49

标签: github release github-actions

我们目前正在研究Github Actions(在Github Enterprise上),我想知道是否有关于如何最好地使用Github Actions构建发行版的建议。

我们要实现的目标:

  • 以某种方式手动触发/批准/“促进”发布
  • 使用清晰的语义版本构建工件,例如1.2.3
  • 使用唯一的中间版本构建(非发布)快照,例如1.2.3-dev.14667 + f39a61d(由Nebula Release插件创建,用于Gradle构建)
  • 标记已发布的提交
  • 我们可以再次为发布构建代码以获取正确的发布版本(不必推广以前构建的完全相同的工件)
  • 可选:将发布限制为发布和主分支

我一直在试验Github发布功能,并为该事件注册了一个构建操作,然后构建了创建的版本。以下是该工作流程的简化版本:

name: Build Release

on:
  release:
    types: [ published ]

jobs:
  build:

    runs-on: [ self-hosted ]

    steps:
    - name: "Building release"
      run: echo Building release version ${{ github.event.release.tag_name }}
    - name: Build with Gradle
      run: ./gradlew build publish -Prelease.version=${{ github.event.release.tag_name }}

这样,您可以通过创建Github发行版,添加所有详细信息并将其发布来创建新发行版。然后构建开始并创建匹配的工件。

虽然工作流程还可以,但是我想知道是否还有其他构建发行版的最佳实践。我什么也找不到,对这个主题的搜索总是会导致单独的Github Action,但不会导致更高层次的讨论。

0 个答案:

没有答案