Jiv*_*van 5 unique github-actions
env我对 Github Actions 中的作业有以下定义:
jobs:
build-test-deploy:
runs-on: ubuntu-latest
env:
FOO : foobar-${{ github.sha }}
BAR : BAZ
Run Code Online (Sandbox Code Playgroud)
但是,github.sha当重新运行相同的工作流程且中间没有任何提交时,结果保持不变。我需要FOO每次运行都是唯一的(即使它在技术上是重新运行),与提交无关。
我正在考虑的两个选择:
我不知道如何在指令的上下文中获取这些值env:。有一些操作可以在其中使用steps,但是如何才能直接从env指令中获取这种唯一值呢?
Pos*_*don 13
现在有一个github.run_attempt变量(不确定从什么时候开始)在重新运行时会递增。因此,通过将其与eg 相结合,github.run_id您可以生成每次运行完全唯一的字符串。
jobs:
build-test-deploy:
runs-on: ubuntu-latest
env:
FOO : foobar-${{ github.run_id }}-${{ github.run_attempt }}
BAR : BAZ
Run Code Online (Sandbox Code Playgroud)
确保在中间放置一个分隔符(-在上面的示例中),否则可能会出现重复项。如果没有它,例如123可能由两者run 12 attempt 3或产生run 1 attempt 23。
快速链接到相关文档以供进一步阅读。
jobs:
build-test-deploy:
runs-on: ubuntu-latest
env:
BAR : BAZ
steps:
- name: generate FOO unique variable based on timestamp
run: echo FOO=foobar--$(date +%s) >> $GITHUB_ENV
- name: other step that needs FOO
run: echo ${{ env.FOO }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8461 次 |
| 最近记录: |