ey-commerce-lib
发版流程
下面是从“升级功能”到“发布新版本”的完整流程。示例版本号使用 1.0.34,实际发版时替换成要发布的新版本。
1. 开发功能
git status
先确认当前工作区状态,避免把无关文件一起提交。完成代码修改后,优先运行默认测试:
python -m pytest
如果修改了打包配置、依赖或发布流程,再运行构建检查:
python -m build
如果修改了需要真实平台凭证的集成测试,确认本地已配置 tests/integration_config.py 后再运行:
python -m pytest -m integration -s
2. 提交功能代码
只提交和当前功能相关的文件:
git status
git add 需要提交的文件
git commit -m "feat: describe your change"
git push origin main
main 分支推送只同步代码,不会发布 PyPI。
3. 升级版本号
发布前必须升级版本号,并确保 pyproject.toml 和 uv.lock 里的版本一致。PyPI 不允许重复上传同一个版本号。
例如发布 1.0.34:
# 修改 pyproject.toml 和 uv.lock 中的 version 为 1.0.34
git diff pyproject.toml uv.lock
git add pyproject.toml uv.lock
git commit -m "chore: bump version to 1.0.34"
git push origin main
4. 创建并推送 tag
tag 名称必须和版本号对应,建议使用 vX.Y.Z 格式:
git tag v1.0.34
git push origin v1.0.34
推送 tag 后,GitLab CI 会自动执行发布流水线:
build -> publish_pypi -> notify_dingtalk_release
5. 检查发布结果
在 GitLab 中查看:
CI/CD -> Pipelines
确认 tag pipeline 的三个 job 都成功:
build
publish_pypi
notify_dingtalk_release
发布成功后,再确认 PyPI 上已经出现新版本,并检查钉钉群是否收到发版成功通知。
6. CI 变量说明
CI 中的 pip 下载依赖默认使用清华 PyPI 镜像源,以减少自建 GitLab Runner 在国内网络环境下安装 build、twine 等工具的耗时。这个配置只影响依赖下载,不影响 twine upload 上传到官方 PyPI。
PyPI token 不写在仓库里,GitLab CI 通过下面两个变量上传:
TWINE_USERNAME = __token__
TWINE_PASSWORD = pypi-你的 PyPI API token
钉钉通知通过下面变量发送:
DINGTALK_WEBHOOK = 钉钉机器人 webhook
DINGTALK_SECRET = 钉钉机器人加签密钥,没开加签可以不填
这些变量都应配置在 GitLab 项目的:
Settings -> CI/CD -> Variables
Metadata
Release files for ey-commerce-lib 1.0.40
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ey_commerce_lib-1.0.40.tar.gz | 138.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ey_commerce_lib-1.0.40-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 203.2 kB
Release files / ey_commerce_lib-1.0.40.tar.gz
| Download URL | ey_commerce_lib-1.0.40.tar.gz |
|---|---|
| Size | 138.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb9f8a8c7cfe032b8745317b7a92b740d0d68e381d557920777a753e4ae336e8
|
|
BLAKE2b-256 checksum How to use checksums |
37cfad257d848c2e15313c567eeb5f7f69090e153a45ed46f5727dffc46e88ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / ey_commerce_lib-1.0.40-py3-none-any.whl
| Download URL | ey_commerce_lib-1.0.40-py3-none-any.whl |
|---|---|
| Size | 64.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
90c34b57c1027f2361c09f6de1aea636f840b6d54cfe63a57d870c4976b5424b
|
|
BLAKE2b-256 checksum How to use checksums |
29954946e9c0ca6089297e5837bb817576ec44d23b7f5102d5de2d185924acb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|