我使用Travis-ci.org作为开发一些Python包的持续集成服务器。我想有条件地从PyPi服务器安装项目依赖项。来自master分支的构建应该从真实的PyPI服务器安装依赖项,而来自其他分支的构建应该从TestPyPI安装依赖项。
我尝试使用外部bash脚本中的TRAVIS_BRANCH环境变量,但没有成功。任何帮助将不胜感激。
.travis.yml
language: python
python:
- "2.7"
install:
- ~/install_dependencies.sh
script:
- python runtests.py --with-coverage --cover-package=package
- python setup.py test
- python setup.py sdist --format zip
after_success:
coveralls
install_dependencies.sh
#!/usr/bin/env bash
if [ "${TRAVIS_BRANCH}" = "master" ]; then
pip install -r requirements.txt
pip install cloudshell-automation-api>=7.0.0.0,<7.1.0.0
else
pip install -r requirements.txt --index-url https://testpypi.python.org/simple
pip install cloudshell-automation-api>=7.0.0.0,<7.1.0.0 --index-url https://testpypi.python.org/simple
fi
pip install -r test_requirements.txt
pip install coveralls
谢谢!
答案 0 :(得分:0)
问题在于从.travis.yml执行Bash脚本。 它需要像这样执行:
bash ./install_dependencies.sh
下面的文件工作正常:
<强> .travis.yml 强>
language: python
python:
- "2.7"
install:
- bash ./install_dependencies.sh
script:
- python runtests.py --with-coverage --cover-package=package
- python setup.py test
- python setup.py sdist --format zip
after_success:
coveralls