我正在尝试将我的 CI 工作流程从 CircleCI 转移到 GitHub Actions。我面临的最后一个主要问题是部署。
目前我的工作流程是这样的,当我将标签推送到我的 GitHub 存储库时,它将运行测试,然后运行部署。唯一的一点是CircleCI过滤如果标签的正则表达式匹配的标签,只运行作业:/v[0-9]+(\.[0-9]+)*/。
在运行部署之前,如何检查以确保我推送的标签与上面的正则表达式模式匹配?
我目前有以下 GitHub 操作 yml 文件:
name: CI
on: [create]
jobs:
# ...
deploy:
runs-on: ubuntu-latest
if: github.event.ref_type == 'tag' && github.event.ref == SOMETHING HERE
steps:
- uses: actions/checkout@v1
# ...
Run Code Online (Sandbox Code Playgroud)
在if块下,我需要改变github.event.ref == SOMETHING HERE成为别的东西。我查看了 GitHub 操作文档页面的上下文和表达式语法。但是由于 GitHub Actions 的灵活和强大,似乎应该有一种方法或方式来做到这一点,或者至少是某种类型的解决方法。
如何确保标签 ( github.event.ref) 与正则表达式模式 ( /v[0-9]+(\.[0-9]+)*/)匹配?