我有3个python包proj1
、proj12
和{proj12
和
proj13
依赖于proj1
(使用from proj1.xxx import yyy
)。在
这3个项目都在一个私有的gitlab实例上,每个项目都有自己的.gitlab-ci
。在
在proj1http://gitlab.me.com/group/proj1/.gitlab-ci.yml
中,我们运行unittest
创造一个轮子作为一个人造物暴露出来:
# http://gitlab.me.com/group/proj1/.gitlab-ci.yml
image: python:2
mytest:
artifacts:
paths:
- dist
script:
- apt-get update -qy; apt-get install -y python-dev python-pip
- pip install -r requirements.txt
- python setup.py test
- python setup.py bdist_wheel
look:
stage: deploy
script:
- ls -lah dist
对于proj12和proj13,例如。
http://gitlab.me.com/group/proj12/.gitlab-ci.yml
我们想运行测试
同样,但是我需要安装proj1
轮子来运行它。在
所有3个项目都在同一个gitlab私有组中。在
gitlab的方法是什么?在
proj1
轮子传递给带有artifact的proj12
http://gitlab.me.com/group/proj12/.gitlab-ci.yml
?是同一个gitlab
同一组,但不同的项目。在proj2
?
proj1
,proj12
和
proj13
在同一个gitlab和同一个组中,即构建的人
为一个项目做其他项目的凭据。所有3个都由用户专用令牌连接。在我尽量避免部署devpi或类似pypiserver的解决方案。在
所以我想在proj12中写些什么来获得
dist/proj1-0.42-py2-none-any.whl
来自proj1先例构建的轮子:
与我们的问题相关的链接:
有两种方法可以做到:
我建议从那时起,作为一个工件传递,你将在你运行的管道中构建它。至于克隆,AFAIK克隆子模块时不需要任何解决方法,但是对于克隆其他存储库,我将使用ssh deploy key,因为它与repo连接,而不是像私有令牌那样的用户。在
相关问题 更多 >
编程相关推荐