Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Travis CI构建触发了两次_Git_Github_Travis Ci - Fatal编程技术网

Git Travis CI构建触发了两次

Git Travis CI构建触发了两次,git,github,travis-ci,Git,Github,Travis Ci,我正在使用以下配置 before_install: - "sudo apt-get update" - "sudo apt-get install --no-install-recommends texlive-full" script: - pdflatex file.tex deploy: provider: releases file: - file.pdf api_key: secure: "MY_API_KEY" skip_cleanup:

我正在使用以下配置

before_install:
  - "sudo apt-get update"
  - "sudo apt-get install --no-install-recommends texlive-full"
script:
  - pdflatex file.tex
deploy:
  provider: releases
  file:
    - file.pdf
  api_key:
    secure: "MY_API_KEY"
  skip_cleanup: true
当我执行git push origin master--tags时,它在Travis中创建了两个构建。一个用于主分支,另一个用于标记。 我只想在标记存在时构建和部署。因此,我在第1行中添加了如下条件:

if: tag IS present
before_install:
  - "sudo apt-get update"
  - "sudo apt-get install --no-install-recommends texlive-full"
script:
  - pdflatex file.tex
deploy:
  provider: releases
  file:
    - file.pdf
  api_key:
    secure: "MY_API_KEY"
  skip_cleanup: true
但是现在,它构建得很好,并且只有在标记存在但未部署时才构建。给出以下警告:

Skipping a deployment with the releases provider because this branch is not permitted

您需要在
deploy
部分的on下添加
tags:true
,以触发标记时的部署

下面是一个触发标记部署的
.travis.yml
示例:

deploy:
  provider: ...
  api_key:  ...
  on:
    tags:   true

您还可以通过在
$TRAVIS_branch
中指定一个或多个分支来触发部署(请参阅)。

根据设置,在这种情况下忽略分支:
tags:true
:仅当设置了
$TRAVIS_TAG
时才会触发部署。根据您的工作流程,您可以显式设置
$TRAVIS_TAG
,即使这是启动时的非标记生成。这会导致忽略分支条件。@fragmentedreality:谢谢您的输入!我已经相应地更新了我的答案。请检查是否有任何差异。再次感谢!