Jon*_*n B 6 continuous-integration github github-actions
有没有办法访问在Github Action中推送的当前标签?在CircleCI中,您可以使用$CIRCLE_TAG变量访问此值。
我的工作流程Yaml由类似这样的标签触发:
on:
push:
tags:
- 'v*.*.*'
Run Code Online (Sandbox Code Playgroud)
我想在以后的工作流程中将该版本号用作文件路径。
All*_*uky 171
GitHub 上下文提供github.ref_name. 您可以像这样使用它:${{github.ref_name}}。
以下是工件文件名中这种用法的示例,它可能类似于您询问的文件路径用法:
- name: Create tag artifact
uses: actions/upload-artifact@v2
with:
name: ${{github.ref_name}}
path: Release
Run Code Online (Sandbox Code Playgroud)
Jir*_*aya 47
这是 2022 年的答案。不需要做奇怪的解析
on:
push:
tags:
- '*'
jobs:
github-example-tags:
runs-on: ubuntu-latest
steps:
- name: GitHub Tag Name example
run: |
echo "Tag name from GITHUB_REF_NAME: $GITHUB_REF_NAME"
echo "Tag name from github.ref_name: ${{ github.ref_name }}"
Run Code Online (Sandbox Code Playgroud)
看
https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
lew*_*lbr 10
对我有用的:
run: echo "GIT_TAG=`echo $(git describe --tags --abbrev=0)`" >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)
据我所知,没有标签变量。但是,可以从中提取GITHUB_REF包含检出参考的文件,例如refs/tags/v1.2.3
试试这个工作流程。它使用提取的版本创建一个新的环境变量,您可以在以后的步骤中使用它。
on:
push:
tags:
- 'v*.*.*'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set env
run: echo ::set-env name=RELEASE_VERSION::$(echo ${GITHUB_REF:10})
- name: Test
run: |
echo $RELEASE_VERSION
echo ${{ env.RELEASE_VERSION }}
Run Code Online (Sandbox Code Playgroud)
或者,使用set-output:
on:
push:
tags:
- 'v*.*.*'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set output
id: vars
run: echo ::set-output name=tag::$(echo ${GITHUB_REF:10})
- name: Check output
env:
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
run: |
echo $RELEASE_VERSION
echo ${{ steps.vars.outputs.tag }}
Run Code Online (Sandbox Code Playgroud)
因此,感谢@peterevans 的所有帮助,我成功实现了我想要的结果:
chrislennon/action-aws-cli密钥密钥的操作来安装 aws cli这是我使用克里斯·列侬的动作运行的示例:
on:
push:
tags:
- 'v*.*.*'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set env
run: echo ::set-env name=RELEASE_VERSION::$(echo ${GITHUB_REF:10})
- name: yarn install & build
run: |
yarn install
yarn build
- uses: chrislennon/action-aws-cli@v1.1
- name: Publish to AWS S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
run: aws s3 sync dist s3://$AWS_S3_BUCKET/$RELEASE_VERSION/ --acl public-read
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |