GitHub 与 持续集成 Travis-CI 的集成非常简单。
构建 Python 项目
指定 Python 版本
使用python
密钥指定 python 版本。当我们更新 Python 构建映像时,别名3.6
会指向不同的确切版本或补丁级别。
1 | language: python |
Python 3.7 及更高版本
您需要添加 dist: xenial
到您的 .travis.yml
文件以使用 Python 3.7 及更高版本。
例如:
1 | dist: xenial # required for Python >= 3.7 |
PyPI 部署
https://docs.travis-ci.com/user/deployment/pypi/
成功构建后,Travis CI 可以自动将 Python 包发布到PyPI。
对于最小配置,请将以下内容添加到.travis.yml
:
1 | deploy: |
但是,这会将您的 PyPI 密码暴露给全世界。我们建议您加密密码并通过运行以下命令将其添加到.travis.yml:
安装 travis-encrypt
1 | pip install travis-encrypt |
然后在 .travis.yml 所在目录执行:
1 | travis encrypt your-password-here --add deploy.password |
或者
1 | travis-encrypt --deploy iosdevlog slmethod .travis.yml |
这个要按提示输入 pypi 密码。
请注意,如果您的 PyPI 密码包含特殊字符,则需要在加密密码之前将其转义。
部署 tag
最有可能的是,当您的软件包的新版本被删除时,您只想部署到 PyPI。为此,您可以告诉 Travis CI 仅部署在标记的提交上,如下所示:
1 | deploy: |
如果在本地标记提交,请记住运行 git push --tags
以确保将标记上载到 GitHub。
部署特定分支
您可以使用on选项显式指定要释放的分支:
1 | deploy: |
或者,您也可以将 Travis CI 配置为从所有分支发布:
1 | deploy: |
默认情况下,Travis CI 仅从主分支发布。
从 Pull Requests 触发的构建永远不会触发发布。
有条件的发布
只有在满足某些条件时才能部署。请参阅条件发布on:
。
1 | language: python |
只在 Python 3.7
发布。
最后的示例。
1 | dist: xenial # required for Python >= 3.7 |
可以发现 slmethod 升级到了 0.1.3 版本,说明已经部署成功了。
测试一下,先安装 slmethod
。
1 | pip3 install slmethod |
显示版本,可以发到已经是 0.1.3
。
1 | $ python3 |
添加 GitHub 项目徽章
打开 GitHub: https://github.com/iOSDevLog/slmethod 查看一下,果然显示项目徽章。
如果你喜欢这篇文章,欢迎去 GitHub 给我一个 star
。