Tuu*_*uks 9 build github github-actions
name: master builder
on:
push:
branches:
- master
~~~
Run Code Online (Sandbox Code Playgroud)
我有一个这样的工作流程。因此,每当我推送到主分支时,操作就会运行。但我希望构建仅在最后一次推送时起作用。例如,
主分支 - 功能 1(人员 1)
主分支 - 功能 2 (person2)
主分支 - feature3 (person3)
在这个结构中,如果features1,2,3几乎同时合并,构建将运行3次。但我希望仅在最后一次合并的基础上构建主分支。就一次。有办法做到这一点吗?就像..在推送时等待大约 1 分钟后仅运行一次构建。
这是我按照您回答的方式进行的示例代码。但我收到错误“不允许键‘并发’”。怎么了?
name: test
on:
push:
branches:
- feature/**
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
~~~
Run Code Online (Sandbox Code Playgroud)
Krz*_*tof 14
您可以尝试通过并发来实现这一点 cancel-in-progress: true
并发性可确保一次仅运行使用同一并发组的单个作业或工作流。并发组可以是任何字符串或表达式。该表达式只能使用 github 上下文。有关表达式的更多信息,请参阅“GitHub Actions 的上下文和表达式语法”。
您还可以在作业级别指定并发性。有关更多信息,请参阅 jobs.<job_id>.concurrency。
当并发作业或工作流排队时,如果使用存储库中相同并发组的另一个作业或工作流正在进行中,则排队的作业或工作流将处于挂起状态。并发组中任何先前挂起的作业或工作流都将被取消。要同时取消同一并发组中任何当前正在运行的作业或工作流,请指定 cancel-in-progress: true。
然而
注意:并发性目前处于测试阶段,可能会发生变化。
这是一个示例工作流程:
name: Deploy
on:
push:
branches:
- main
- production
paths-ignore:
- '**.md'
# Ensures that only one deploy task per branch/environment will run at a time.
concurrency:
group: environment-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Extract commit
run: |
echo "Sending commit $GITHUB_SHA for $GITHUB_REPOSITORY"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8339 次 |
| 最近记录: |