我试图使用Gitlab CI作业将一个包上载到pypi,但我无法使其正常工作:/Anyone have a working example?在
到目前为止,我在我的.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
与之前相同,但带有$VARIABLE
前两个选项,但使用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
和TWINE_PASSWORD
变量,这是现成的。在{将图片中的一个替换成你想要的部分:
并在GitLab中的“设置”->;CI/CD->;variables(https://your-gitlab-instance.oerg/GIT_NAMESPACE/GIT_PROJECT/settings/ci_cd)下添加环境变量:
以下是成功的管道:
如果出现EOF问题,请确保更改要保护的设置/存储库/标记,以便它们可以再次工作。我已经发布了here一个更完整的描述。在
我用你的代码修改过的版本实现了这一点:
区别在于我没有使用“'”,并且去掉了yaml中的冒号;相反,我将秘密的值设置为例如
username: myuser
相关问题 更多 >
编程相关推荐