我正在自动化Web应用程序的测试和部署。我有以下几个阶段需要运行:
打开PR时,我只想要阶段 1。 (测试)和 2。 (部署,开发)来运行。然后,当PR合并到母版时,我只想要阶段 3。 (部署,生产)来运行。我不希望定期提交或推送任何CI / CD。
这是我尝试定义 <uses-sdk tools:overrideLibrary="android.support.v7.appcompat"/>
的方式:
.travis.yml
现在,三个阶段都在打开PR时运行(不仅仅是# install and other things omitted for brevity
stages:
- name: dev-test
if: type = pull_request
branch:
except: master
- name: dev-deploy
if: type = pull_request
branch:
except: master
- name: prod-deploy
if: type = pull_request
branch:
only: master
jobs:
include:
- stage: dev-test
script: python scripts/dev_test.py
- stage: dev-deploy
script: python scripts/dev_deploy.py
- stage: prod-deploy
script: python scripts/prod_deploy.py
和dev-test
)。我应该如何设置阶段来完成我想要的?
答案 0 :(得分:0)
我通过完全不使用构建阶段来解决了这个问题。相反,我只是通过Travis environment variables在script
的{{1}}指令中验证GitHub PR的属性。
.travis.yml