我使用GitHub操作实现了ci/cd。在ci/cd中,我有三个任务,当我想释放一个标记时,我想构建这三个任务,当我向一个特定的分支提出拉请求时,应该执行两个作业来进行健康检查。例如,我有一个特性分支,我想将这个特性分支合并到devel分支。当我提出公关时,应该只运行两份工作。我怎样才能做到这一点?下面是我的示例代码。
name: CI
on:
pull_request:
branches:
- master
- devel
push:
tags:
- '*'
jobs:
build:
name: build
runs-on: self-hosted
steps:
--------------
deploy:
name: deploy
runs-on: self-hosted
steps:
------------
automation-test:
name: test
runs-on: self-hosted
steps:
------------在这里,当我提高公关,我想运行构建和自动化测试的工作。
发布于 2020-07-02 14:46:01
你在这里有两个选择:
第一个选择很可能是你想要的。这里唯一的问题是,一个作业的输出是否在另一个作业中使用,但听起来并不是这样。我建议您简单地将yaml工作流划分为两个不同的工作流:
name: CI
on:
pull_request:
branches:
- master
push:
tags:
- '*'
jobs:
build:
name: build
runs-on: self-hosted
steps:
--------------
deploy:
name: deploy
runs-on: self-hosted
steps:
------------
automation-test:
name: test
runs-on: self-hosted
steps:
------------name: PR Builder
on:
pull_request:
branches:
- devel
jobs:
whatever_testing_jobs_you_like:第二个选项可能如下所示:
name: CI
on:
pull_request:
branches:
- master
push:
tags:
- '*'
jobs:
build:
name: build
runs-on: self-hosted
steps:
--------------
deploy:
if: "github.ref != devel" # you might tweak the condition based on your needs
name: deploy
runs-on: self-hosted
steps:
------------
automation-test:
name: test
runs-on: self-hosted
steps:
------------这些上下文值/条件是有据可查
https://stackoverflow.com/questions/62691871
复制相似问题