У меня есть 3 пакета Python proj1
, proj12
и proj13
. И proj12
, и proj13
зависят от proj1
(с from proj1.xxx import yyy
).
Три проекта находятся в частном экземпляре gitlab, у каждого свой .gitlab-ci
.
В proj1 http://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
wheel, чтобы он работал.
Все 3 проекта находятся в одной частной группе gitlab.
Как это сделать gitlab?
- to pass the
proj1
wheel to theproj12
with an artifact- in this case I don't know how to call/get the artifact in
http://gitlab.me.com/group/proj12/.gitlab-ci.yml
? It's the same gitlab, the same group, but a different project.
- in this case I don't know how to call/get the artifact in
- Use a gitlab Secret Variable to store ssh_keys to clone
proj2
inproj12/.gitlab-ci.yml
?- related to https://gitlab.com/gitlab-org/gitlab-ce/issues/4194
- при этом не учитывается тот факт, что
proj1
,proj12
иproj13
находятся в одной gitlab и одной группе, человек, который выполняет сборку для одного проекта, используется в качестве учетных данных для выполнения других. Все 3 связаны личным токеном пользователя.
Я стараюсь избегать развертывания решений типа devpi или pypiserver.
Итак, я ищу, что написать в proj12 .gitlab-ci.yml
, чтобы получить dist/proj1-0.42-py2-none-any.whl
колесо из предыдущей сборки proj1:
# http://gitlab.me.com/group/proj12/.gitlab-ci.yml
image: python:2
mytest12:
script:
- apt-get update -qy; apt-get install -y python-dev python-pip
- pip install -r requirements.txt
- pip install .
- => some way here to get the proj1 wheel
- pip install proj1-0.42-py2-none-any.whl
- python setup.py test
Ссылки, связанные с нашей проблемой:
- Разрешить доступ к артефактам сборки с помощью токенов ограниченного доступа https://gitlab.com/gitlab-org/gitlab-ce/issues/19628
- "Люди должны иметь возможность делиться ссылками на артефакты на основе git ref (ветка, тег и т. Д.), Не зная конкретного идентификатора сборки https://gitlab.com/gitlab-org/gitlab-ce/issues/4255
- https://docs.gitlab.com/ce/api/ci/builds.html#upload-artifacts-to-build
- загрузите файл артефактов https://docs.gitlab.com/ce/api/builds.html#download-the-artifacts-file https://gitlab.com/gitlab-org/gitlab-ce/issues/22957