我正在尝试编写一个基本的 Travis-CI 脚本来测试构建我的 Python 包并为 Python 3.5 到 3.8 版运行 pytest。一旦这一切成功通过,我就希望 Travis-CI 构建文档并更新 GitHub 页面。我已经能够成功地测试构建包并按预期运行测试,我什至可以构建文档,但文档被构建了 4 次。我只希望在其他一切成功后构建和更新文档一次。我读过关于Jobs,但没有成功地让它与deploy关键字一起工作。
这是我目前的回购链接:https : //github.com/CurtLH/my_pkg
这是我现有的 Travis-CI 脚本,它可以工作但部署到 GitHub 页面 4 次。如何调整脚本以仅构建和部署文档一次?
language: python
python:
- 3.8
- 3.7
- 3.6
- 3.5
install:
- pip install -e .[dev]
script:
- pytest
- sphinx-build -n -b html -d docs/build/doctrees docs/source docs/build/html
- touch docs/build/html/.nojekyll
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
keep-history: true
on:
branch: master
local_dir: docs/build/html
Run Code Online (Sandbox Code Playgroud)
您可以将构建分为两个阶段,一个阶段使用不同 Python 版本的矩阵,另一个阶段用于部署步骤:https : //docs.travis-ci.com/user/build-stages/matrix-expansion/
然后,在您的部署阶段,您可以为特定的 Python 版本构建代码并进行部署,您的.travis.yml配置将变为:
language: python
python:
- 3.8
- 3.7
- 3.6
- 3.5
install:
- pip install -e .[dev]
script:
- pytest
- sphinx-build -n -b html -d docs/build/doctrees docs/source docs/build/html
- touch docs/build/html/.nojekyll
jobs:
include:
- stage: deploy
python: 3.8
install: pip install -e .[dev]
script:
- pytest
- sphinx-build -n -b html -d docs/build/doctrees docs/source docs/build/html
- touch docs/build/html/.nojekyll
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
keep-history: true
on:
branch: master
local_dir: docs/build/html
Run Code Online (Sandbox Code Playgroud)
您还可以使用工作区(在 Beta 版中)存储所需的包版本,然后在将其发布到 GitHub 页面之前获取它:https : //docs.travis-ci.com/user/using-workspaces/
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |