Travis条件构建-如何跳过主分支以外的部署阶段

时间:2019-08-10 03:35:53

标签: docker github build travis-ci

在下面的travis配置文件中,我分为两个阶段。

  • test-此运行在所有分支上进行测试。
  • 部署-此运行部署脚本并将Docker映像推送到Docker Hub。这应该只在master分支上运行。

我打算仅通过在deploy分支上使用条件构建功能来运行master阶段,但是deploy阶段仍在其他分支上运行。 除主分支外,如何跳过deploy阶段?

language: java
services:
  - docker

before_cache:
  <cache clearning>

cache:
  directories:
  <cache directories>

stages:
  - test
  - name: deploy
    if: branch == master

docker_login:
  before_script: 
  <before command here>

jobs:
  include:
  - stage: test
    script:
    <test command here>
  - stage: deploy
    before_script: *docker_login
    name: build docker
    script:
    <deploy command here>

已更新

我必须进行如下更改

if: branch == master AND (NOT (type IN (push, pull_request)))

1 个答案:

答案 0 :(得分:0)

  • 这有效。
  • 跳过deploy阶段在对基本存储库的拉取请求上运行,但在main分支的分支上运行。
if: branch = master AND type = push AND fork = false