jac*_*ses 1 github github-actions
我有一个工作流程,其中包含在构建和人工制品时创建版本号的操作。这个版本号被写入文件。
我怎样才能把它作为另一个动作的输入?
即:如何在另一个操作中使用此版本号作为提交消息的一部分?
根据 GitHub 的这篇博客文章,接受的答案已经过时。
不过,仍然可以将其作为工作流程中的一个步骤来执行:
- name: Read VERSION file
id: getversion
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
Run Code Online (Sandbox Code Playgroud)
这将设置一个名为的输出version
,您可以像使用之前一样访问该输出${{ steps.getversion.outputs.version }}
:
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: v${{ steps.getversion.outputs.version }}.${{ steps.buildnumber.outputs.build_number }}
prerelease: false
Run Code Online (Sandbox Code Playgroud)
根据这里的精彩答案,实际上有一种内联方式可以实现这一点。完全不直观,除了::set-output...
语法与 GitHub 操作的相同预期输出格式相匹配。
以下步骤将 VERSION 文件加载到${{ steps.getversion.outputs.version }}
:
- name: Read VERSION file
id: getversion
run: echo "::set-output name=version::$(cat VERSION)"
Run Code Online (Sandbox Code Playgroud)
我有与 OP 相同的用例,所以我粘贴在我的整个代码下面,它做了三件事:
einaregilsson/build-number@v2
操作获取连续的内部版本号。name: Auto-Tag Release
on:
push:
branches:
- master
jobs:
release_new_tag:
runs-on: ubuntu-latest
steps:
- name: "Checkout source code"
uses: "actions/checkout@v1"
- name: Generate build number
id: buildnumber
uses: einaregilsson/build-number@v2
with:
token: ${{secrets.github_token}}
- name: Read VERSION file
id: getversion
run: echo "::set-output name=version::$(cat VERSION)"
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: v${{ steps.getversion.outputs.version }}.${{ steps.buildnumber.outputs.build_number }}
prerelease: false
Run Code Online (Sandbox Code Playgroud)
完全自动化的发布管理!:-)
归档时间: |
|
查看次数: |
1891 次 |
最近记录: |