我在Github操作中的发布管道有两项工作(1(测试(2(发布
这就是我的目标:
发布管道的测试作业将通过创建拉请求来触发,当拉请求合并时,管道的发布作业将被梯级
name: OC-API CD
on:
pull_request:
types: [merged]
branches:
- master
jobs:
testing:
runs-on: ubuntu-latest
steps:
...
release:
runs-on: ubuntu-latest
steps:
...
似乎所有作业都必须由相同的事件通过on
、触发
(1( 是否有任何方法可以通过不同的事件触发不同的作业?
(2( 我如何添加测试和发布之间的依赖关系,AKA,发布作业取决于是否成功运行测试作业
您可以通过添加if
来控制每个作业,在您的情况下,它将是这样的:
jobs:
testing:
if: ${{ github.event.action }} == 'opened'
runs-on: ubuntu-latest
steps:
...
请记住,您必须将opened
添加到on: pull_request: types:
阵列中:(
对于第二部分,您可以使用needs
添加依赖项,如下所示:
jobs:
testing:
runs-on: ubuntu-latest
steps:
...
release:
needs: testing
runs-on: ubuntu-latest
steps:
...