Хотя я могу успешно написать .gitlab-ci.yml
в gitlab.com
, что передает мои artifact
в public/
,
image: ruby:2.3
pages:
script:
- bundle install
- bundle exec jekyll build -d public
artifacts:
paths:
- public
Я бы хотел .gitlab-ci.yml
(aконтейнер (# 1), основанный на образе докера (# 2)), чтобы вместо этого использовать Dockerfile
для создания другого изображения (# 3) для создания artifact
и, опять же, передать artifact
из # 3 вcontainer#1/public/
так что он общедоступен в Интернете.
# Dockerfile
FROM ruby:2.3
...
Обоснование этого заключается в том, что я могу поделиться репо с коллегой, который разбирается в Dockerfiles, но не заинтересован в использовании GitLab или .gitlab-ci.yml
.Поэтому я хочу, чтобы .gitlab-ci.yml
использовал Dockerfile
для своих целей, и мой коллега может использовать Dockerfile
любым удобным для них способом - Dockerfile
- это общий воспроизводимый способ создания artifact
.
Кажется, я могу создавать образы Docker в GitLab CI / CD , но я не уверен, что смогу сделать это на gitlab.com
, а не на GitLab с собственным хостом.Это позволит мне затем отправить изображение в реестр и использовать изображение из реестра на более позднем этапе (включая artifact
).Хотя я не уверен, как мне его извлечь?
docker build -t myimagename .
не работает в GitLab CI / CD на gitlab.com
(если я не добавлю services
к .gitlab-ci.yml
?).Даже если это произойдет, как мне извлечь artifact
из myimagename
контейнера в GitLab CI / CD «контейнер»?