jgs*_*ogo 7 python pypi gitlab-ci twine
我正在尝试使用Gitlab CI作业将软件包上载到pypi,但我无法使其工作:/任何人都有一个有效的示例?
到目前为止,我.gitlab-ci.yaml
在我的机器上尝试过的一切(从我的本地机器上都可以正常工作):
用.pypirc
文件缠绕
- echo "[distutils]" >> ~/.pypirc
- echo "index-servers =" >> ~/.pypirc
- echo " pypi" >> ~/.pypirc
- echo "" >> ~/.pypirc
- echo "[pypi]" >> ~/.pypirc
- 'echo "repository: https://upload.pypi.org/legacy/" >> ~/.pypirc'
- 'echo "username: ${PYPI_USER}" >> ~/.pypirc'
- 'echo "password: ${PYPI_PASSWORD}" >> ~/.pypirc'
- python3 setup.py check sdist bdist # This will fail if your creds are bad.
- cat ~/.pypirc
- twine upload dist/* --config-file ~/.pypirc
Run Code Online (Sandbox Code Playgroud)与以前相同,但有 $VARIABLE
[...]
- 'echo "username: $PYPI_USER" >> ~/.pypirc'
- 'echo "password: $PYPI_PASSWORD" >> ~/.pypirc'
[...]
Run Code Online (Sandbox Code Playgroud)使用之前有两个选择 python setup.py ... upload
twine upload dist/* -u $PYPI_USER -p $PYPI_PASSWORD
twine upload dist/*
室内用TWINE_USERNAME
和TWINE_PASSWORD
环境变量。...并且总是得到一个403 Client Error: Invalid or non-existent authentication information
。我没有其他选择了...
我只是使用TWINE_USERNAME
and TWINE_PASSWORD
变量,它开箱即用。
这是其中的一部分gitlab-ci.yml
(将图像替换为所需的图像):
pypi:
image: docker.km3net.de/base/python:3
stage: release
cache: {}
script:
- pip install -U twine
- python setup.py sdist
- twine upload dist/*
only:
- tags
Run Code Online (Sandbox Code Playgroud)
并在GitLab中的Settings-> CI / CD-> Variables(https://your-gitlab-instance.oerg/GIT_NAMESPACE/GIT_PROJECT/settings/ci_cd)下添加环境变量:
这是成功的管道:
我使用您的代码的修改版本得到了这个工作:
pypi:
stage: upload
script:
- pip install twine
- rm -rf dist
- echo "[distutils]" >> ~/.pypirc
- echo "index-servers =" >> ~/.pypirc
- echo " nexus" >> ~/.pypirc
- echo "" >> ~/.pypirc
- echo "[nexus]" >> ~/.pypirc
- echo "${PYPI_REPO}" >> ~/.pypirc
- echo "${PYPI_USER}" >> ~/.pypirc
- echo "${PYPI_PASSWORD}" >> ~/.pypirc
- python3 setup.py check sdist bdist # This will fail if your creds are bad.
- python setup.py sdist bdist_wheel
- twine upload -r nexus dist/*.tar.gz
Run Code Online (Sandbox Code Playgroud)
不同之处在于我没有使用“'”并去掉了 yaml 中的冒号;相反,我将秘密的值设置为例如,username: myuser
归档时间: |
|
查看次数: |
1837 次 |
最近记录: |