我总是用git管理我的乳胶项目。现在我想我可以用某种方式使用Travis从乳胶文件中构建PDF。
这也适用于以下.travis配置。
sudo: required
branches:
only:
- master
language: latex
services:
- docker
before_install:
- docker pull blang/latex:ubuntu
script:
- make docker-pdf
before_deploy:
- git config --local user.name "my-name"
- git config --local user.email "my-email"
- git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)"
deploy:
provider: releases
api_key:
secure: [my-key]
file: "index.pdf"
skip_cleanup: true
env:
global:
secure: [my key]
但是,每个提交都是构建和发布的。这不是我希望你拥有的行为。我想建立所有提交,但如果我上传一个标签,它将被发布。
所以我在某些点编辑配置
before_deploy:
- git config --local user.name "my-name"
- git config --local user.email "my-email"
# - git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)"
deploy:
provider: releases
api_key:
secure: [my-key]
file: "index.pdf"
on:
tags: true
skip_cleanup: true
但我从travis那里得到以下信息。
The command "make docker-pdf" exited with 0.
Skipping a deployment with the releases provider because this is not a tagged commit
但我推了一个提交。所以我不理解这种行为。
沃尔克
答案 0 :(得分:0)
如果您实际推送了标记提交,包括
on:
tags: true
应该已经完成了这个伎俩......
你有没有标记&推动here描述的方式?请注意push origin
:
git tag -a v1.4 -m "my version 1.4"
git push origin v1.4
默认情况下,git push命令不会将标记传输到远程服务器。创建共享服务器后,您必须明确地将标记推送到共享服务器。这个过程就像共享远程分支一样 - 你可以运行git push origin。
可能在script
或before_install
中包含一个简单的回音,以验证$TRAVIS_TAG
是否已实际设置。关注默认环境变量,请注意this part of the documentation。所以请包括:
- echo $TRAVIS_TAG
如果它仍然无法正常工作,您也可以检查this answer。它包含有关标签和其他选项的部署信息。