我正在尝试使用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
[...] …Run Code Online (Sandbox Code Playgroud)我想知道如何管理外部项目的依赖项.假设我有三个项目,每个项目位于不同的存储库中:
每个项目都有其CMakeLists.txt.使用find_package并在CMake上定义路径我可以毫无问题地构建每个项目并安装它(我按照这个tuto来构建库的.cmake文件)
现在我正在尝试使这个过程尽可能简单,我正在介绍ExternalProject_Add宏,这样人们只需克隆可执行文件库并在CMake文件Lib1和Core的帮助下也会被下载,编译和链接.
问题是Executable和Lib1依赖于Core但我希望它只被克隆(和编译)一次.这是问题所在:
我不知道是否有文档化的方法来处理这种项目树,或者当Core被包含作为外部项目的依赖项时,我应该编写某种解决方法,以避免使用core-targets.cmake文件.
谢谢!
解
我意识到当使用ExternalProject_Add时,它会下载,构建和安装项目,因此,在install-folder中,我已经拥有了编译其依赖项所需的所有文件.
所以我可以按照这些步骤管理此问题(也适用于构建顺序):