2017-12-13 4 views
0

私はトラヴィス・フローの3つの手順を持っていることを目指しています:(分岐が開発に をマージするのみドッキングウィンドウの画像の、)(常に)Travisの条件付きビルドステージはどのように動作させるのですか?

  1. テスト
  2. をビルド
  3. と同じデプロイ(私はdocumentation on build stages and conditionalsを読んだが、私は、私は機能ブランチを押すと)、トラヴィスは常に(たとえば、すべての三つの段階を実行するときに、何かを誤解しているように見える

)を構築します。次のように

私の現在の設定は次のとおりです。

jobs: 
    include: 
    - stage: test 
     script: ".travis/01-test.sh" 
    - stage: build 
     script: ".travis/02-build-and-push-image.sh" 
     if: (branch = develop) AND (NOT(type IN (push, pull_request))) 
    - stage: deploy 
     script: ".travis/03-deploy.sh staging" 
     if: (branch = develop) AND (NOT(type IN (push, pull_request))) 

私はトラヴィスに設定]タブを開いたとき、私はそれが解析エラーではありませんので、ページを構築し、この設定を見ることができます。私はまた仕事とステージを別々にリストアップしようとしましたが、結果は同じです:

jobs: 
    include: 
    - stage: test 
     script: ".travis/01-test.sh" 
    - stage: build 
     script: ".travis/02-build-and-push-image.sh" 
    - stage: deploy 
     script: ".travis/03-deploy.sh staging" 
stages: 
    - test 
    - name: build 
    if: (branch = develop) AND (NOT(type IN (push, pull_request))) 
    - name: deploy 
    if: (branch = develop) AND (NOT(type IN (push, pull_request))) 

どうすればこの作品を作れますか?何か不足していますか?私はビルド段階がベータ版であることを知っていますが、Travis blog postによれば、これはすでに動作するはずです。

答えて

3

これは、条件を内部的に解析する際に問題となることが確認できます。

"NOT"演算子の後ろに空白を追加できますか?以下のように:これは、問題を解決しているようだ

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

(それはenv(foo)と同じように)トラヴィスが関数としてではない()検出しているので、これはエラーの原因となっている場合、私は疑問に思います。

+0

パーフェクト - 魅力のように機能します!ありがとう! – mvuajua

関連する問題