docker - 如何在 gitlab.com 上使用 .gitlab-ci.yml 从 Dockerfile 构建并将工件从 Dockerfile 复制到 GitLab 公共目录?
问题描述
虽然我可以成功地写一个传递.gitlab-ci.yml
我的to,gitlab.com
artifact
public/
image: ruby:2.3
pages:
script:
- bundle install
- bundle exec jekyll build -d public
artifacts:
paths:
- public
我希望.gitlab-ci.yml
(基于 docker 映像(#2)的容器(#1))改为使用 aDockerfile
来构建不同的映像(#3)来创建,artifact
并再次将artifact
#3 传递给它,container#1/public/
因此它是公开的可在网络上访问。
# Dockerfile
FROM ruby:2.3
...
这样做的理由是,我可能会与了解 Dockerfiles 但对使用 GitLab 或.gitlab-ci.yml
. 因此,我想.gitlab-ci.yml
将其Dockerfile
用于我的目的,我的同事可以Dockerfile
以最适合他们Dockerfile
的方式使用——这是制作artifact
.
看来我可以在 GitLab CI/CD 中构建 Docker 映像,但我不确定我是否可以这样做,gitlab.com
而不是自托管 GitLab。然后,这将允许我将图像推送到注册表并在稍后阶段(包括artifact
)使用注册表中的图像。虽然我不确定如何提取它?
docker build -t myimagename .
在 GitLab CI/CD 上不起作用gitlab.com
(除非我添加了一些services
?.gitlab-ci.yml
)。即使是这样,我如何将容器中的内容提取artifact
到myimagename
GitLab CI/CD“容器”中?
解决方案
推荐阅读
- android - 如何在 workManager 中发出 API 请求?
- javascript - 是否有任何特定方法可以停止执行请求?
- sql - 查找分区中的第一个非空值
- android - 可以从单个设备一遍又一遍地订阅 FCM 主题吗?
- docusignapi - 无法添加新用户来创建新组织
- python - 在 OpenCV 中增加某些图像区域的强度
- javascript - 3D Globe.gl 的性能问题
- java - 使用 Spring Boot Actuator 和 git-commit-id-maven-plugin 格式化 Git/构建时间信息
- javascript - NodeJS中的Jinja SQL等价物?
- python-3.x - CSV 到 XML 交替值