Gitlab docker ci 模板 - header 名称是什么
Gitlab docker ci template - what is the header name for
第一个例子,图像名称是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?
工作命名:
有一些保留关键字不能用作作业名称,例如 stages
、services
等。请参阅 https://docs.gitlab.com/ee/ci/yaml/#unavailable-names-for-jobs
您可以随意为您的工作命名。
阶段
如您所写,有一组特定的预定义阶段:.pre
、build
、test
、deploy
和 .post
- 但是您还可以使用
定义自己的阶段
stages:
- build
- build-docker
- test
- deploy
Docker 文件
是的,您需要一个 docker 文件来 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/ - 它解释了很多默认概念。我建议不要在一个 Whosebug 问题中问很多问题,让它专注于一个主题
第一个例子,图像名称是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?
工作命名:
有一些保留关键字不能用作作业名称,例如 stages
、services
等。请参阅 https://docs.gitlab.com/ee/ci/yaml/#unavailable-names-for-jobs
您可以随意为您的工作命名。
阶段
如您所写,有一组特定的预定义阶段:.pre
、build
、test
、deploy
和 .post
- 但是您还可以使用
stages:
- build
- build-docker
- test
- deploy
Docker 文件
是的,您需要一个 docker 文件来 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/ - 它解释了很多默认概念。我建议不要在一个 Whosebug 问题中问很多问题,让它专注于一个主题