我是gitlab的新手,我有一个python包,我想为它自动发布下一个版本。我想要:
我需要帮助来做这件事。我的.gitlab-ci.yml文件正确吗?A如何创建这个标记?我应该如何写我的提交消息?以及在部署之后可以找到新版本引用的地方。
我们在github流中工作,有一个功能分支和一个主分支。(无开发、prod、uat..etc分支)
.gitlab-ci.yml
image: python:latest
stages:
- test
- tag
- deploy
before_script:
- pip install -r requirements.txt
test:
stage: test
script:
- pytest -vv
tag:
stage: tag
script:
- pip install twine bump2version
- bump2version release
- python setup.py sdist bdist_wheel
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --verbose --skip-existing --repository-url https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/pypi dist/*
only:
- tags
deploy:
stage: deploy
script:
- pip install twine bump2version
- bump2version minor
- python setup.py sdist bdist_wheel
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --verbose --skip-existing --repository-url https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/pypi dist/*
only:
- master
pages:
stage: deploy
script:
- pip install -U sphinx
- sphinx-build -b html source public
artifacts:
paths:
- public
only:
- mastersetup.py
import setuptools
setuptools.setup(
name="myApp", # Replace with your own username
version="0.0.1",
author="name NAME",
author_email="name@email.com",
description="my new Application",
packages=setuptools.find_packages(),
install_requires=[
"google-auth==1.24.0",
"pydantic==1.7.3",
"email-validator==1.1.2",
"pytest-mock==3.3.1"
],
classifiers=[
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
)发布于 2021-04-24 18:16:23
GitLab作业具有预定义环境变量,在从gitlab-ci.yml调用脚本时可能会对此感兴趣。
自从GitLab 13.11 (2021年4月)以来,你现在有:
提交作者的预定义CI/CD变量 以前,如果您需要在正在运行的CI/CD作业中标识提交的作者,则必须向作业中添加一个额外的API调用来检索它。 现在,这些信息可以作为
CI_COMMIT_AUTHOR预定义的CI/CD变量随时提供。 感谢克雷格安德鲁斯的贡献! 见文档和问题。
这可以帮助您的author/author_email变量,考虑到该变量是Name <email>格式的。
https://stackoverflow.com/questions/66754554
复制相似问题