【发布时间】:2017-07-03 20:18:32
【问题描述】:
最近才开始使用 Travis CI 进行构建测试。在短短几天内取得了长足的进步,并且玩得很开心。
构建成功通过,但现在在多个 php 环境下运行我的测试导致只有第一个测试通过,将标签/内部版本号推送到 repo,后续测试失败
! [rejected] v2.2017.22 -> v2.2017.22 (already exists)
我执行推送的 bash 代码如下:
before_deploy:
- git config --global user.email "${GIT_EMAIL}"
- git config --global user.name "${GIT_NAME}"
- export GIT_TAG=v1.0.$TRAVIS_BUILD_NUMBER
- git tag $GIT_TAG -a -m "Tag Generated from TravisCI for build $TRAVIS_BUILD_NUMBER"
- git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} --tags
我想做的(尽可能简单)如下,请原谅我想在这里实现的非常蹩脚的措辞 :) 希望有人可以帮助我用一个非常简单的 bash 行来实现这一点。
before_deploy:
- git config --global user.email "${GIT_EMAIL}"
- git config --global user.name "${GIT_NAME}"
- export GIT_TAG=v1.0.$TRAVIS_BUILD_NUMBER
- git tag $GIT_TAG -a -m "Tag Generated from TravisCI for build $TRAVIS_BUILD_NUMBER"
- git fetch --tags
- #if tag $TRAVIS_BUILD_NUMBER already exists then
- #don't push and exit with 0
- #else
- git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG} --tags
【问题讨论】: