【问题标题】:How to create a tag on GitHub when a PR is merged?合并 PR 时如何在 GitHub 上创建标签?
【发布时间】:2015-10-14 15:02:35
【问题描述】:

我当前的工作流程需要在每个 PR 上都有一个版本 Bump,所以我想利用它并在每次 PR 合并时自动在 GitHub 上创建一个标签,因此它出现在“发布”部分。

我已经看到我可以编写一个合并后挂钩。我怀疑这个钩子是在我的机器上本地运行,还是在 GitHub 上远程运行,或者两者都运行(假设我在 GitHub 上合并 PR,而不是本地。这是什么情况?

【问题讨论】:

    标签: git github githooks pull-request


    【解决方案1】:

    我可以写一个合并后的钩子。我怀疑这个钩子是在我的机器上本地运行,还是在 GitHub 上远程运行,或者两者都运行

    2015:它肯定不会在 GitHub 上运行(GitHub 运行任何用户提供的挂钩都不安全)。

    你可以拥有一个Webhook on pull request:通过监听它的 JSON 负载,如果 PR event 表示 merged 公关。
    (即如果action是“closed”,而merged键是“true”)


    2020:它肯定会在 GitHub 上运行:即称为 GitHub Actions

    在 OP 的情况下,GitHub Tag Action

    一个 GitHub 操作,用于在合并时使用最新的 SemVer 格式版本自动碰撞和标记 master。适用于任何平台。

    用法

    name: Bump version
    on:
      push:
        branches:
          - master
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@master
            with:
              # Fetches entire history, so we can analyze commits since last tag
              fetch-depth: 0
          - name: Bump version and push tag
            uses: mathieudutour/github-tag-action@v4.5
            with:
              github_token: ${{ secrets.GITHUB_TOKEN }}
    

    类似且更新的操作:github-tag-action
    请参阅 Nick Sjostrom 中的“Creating A Github Action to Tag Commits”。

    name: Bump version
    on:
      push:
        branches:
          - master
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@master
        - name: Bump version and push tag
          uses: anothrNick/github-tag-action@master
          env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            REPO_OWNER: anothrNick
    

    【讨论】:

      猜你喜欢
      • 2022-08-11
      • 2020-06-27
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 2022-11-11
      相关资源
      最近更新 更多