我有一个运行maven构建的应用程序代码,我们创建了快照,然后创建了一个标签,一旦快照构建成功,我们就使用快照构建中创建的标签,然后使用GitHub操作工作流中的发布标签运行构建。现在,我尝试仅在标签匹配和标签不匹配时运行构建工作流作业的发布,跳过作业或使作业失败,假设将在快照构建中创建标记,并将使用"<appname>-<app_build_type>-<github-actions-run_number>-<env>-origin/<branch>"
标记格式,实际标记看起来像"java-maven-44-dev-origin/develop"
我尝试了以下2种方法工作流,但完全无效第一种方法是:
name: maven-release
on:
workflow_dispatch:
jobs:
checkout_code:
runs-on: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
maven_build:
runs-on: [ubuntu-latest]
if: ${{ github.ref == 'refs/tags/*-origin/develop' }}
needs: checkout_code
steps:
- name: Run maven build
run: |
mvn clean install
第二种方法是:
name: maven-release
on:
workflow_dispatch:
jobs:
checkout_code:
runs-on: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
maven_build:
runs-on: [ubuntu-latest]
if: contains(github.ref, 'refs/tags/*-origin/develop')
needs: checkout_code
steps:
- name: Run maven build
run: |
mvn clean install
如果有人知道此问题的任何解决方案,或者有人可以提供有关如何实现此问题的一些建议,我希望仅在作业级别跳过/使其失败,而不在运行命令中
1条答案
按热度按时间cig3rfwq1#
对于您的用例,您可以在推送时触发工作流,然后将筛选器应用于分支或标记
Github过滤器模式备忘单