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:谢谢您的输入!我已经相应地更新了我的答案。请检查是否有任何差异。再次感谢!