Gitlab docker ci模板-头文件的名称是什么?



在第一个示例中,图像名称为docker:latest。阶段是管道的定义,我可以有构建,测试,部署阶段。

片段1

gitlab-ci.yml

docker-build:
# Use the official docker image.
image: docker:latest
stage: build
  • 我可以知道docker-build的定义吗?
  • 我可以把它命名为build或其他什么,是什么用途?

片段2

gitlab-ci.yml

image: docker:latest
services:
- docker:dind
build:
stage: build
script:
- docker build -t test .
  • 在另一个例子中,有定义的服务。为什么我需要服务,什么时候不需要?

  • 我可以说这个例子必须有另一个文件'Dockerfile',所以docker构建命令只工作?

  • 一旦构建成功,映像将被命名为docker:latest?

Job-naming:

有一些保留的关键字不能用于作业名称,如stages,services等,参见https://docs.gitlab.com/ee/ci/yaml/#unavailable-names-for-jobs

你可以给你的工作起任何你喜欢的名字。

阶段正如你所写的,有一组预定义的阶段:.pre,build,test,deploy.post-但你也可以用

定义你自己的阶段
stages:
- build
- build-docker
- test
- deploy

Dockerfile

是的,你需要一个dockerfile来构建docker,你的图像的标签将是test,因为它是用-t test定义的。关于使用gitlab ci构建docker映像,我可以推荐https://blog.callr.tech/building-docker-images-with-gitlab-ci-best-practices/阅读。

我希望这能有所帮助。一般来说,我建议你阅读gitlab文档和入门指南:https://docs.gitlab.com/ee/ci/quick_start/-它解释了很多默认概念。我建议不要在一个stackoverflow问题中问太多问题,把注意力集中在一个主题上

最新更新