我已经进行了Google搜索,以找到一种在Concourse Pipeline中设置自定义资源的方法,但是答案/文档不起作用。
有人可以提供从本地注册表中提取并在构建计划中使用的自定义资源类型的工作示例吗?
例如,说我要克隆git资源并将其稍作修改,然后将其推到本地注册表。Git Resource映像将是名称:Localhost:5000/local_git:最新
您将如何在管道定义中使用此自定义资源(Local_git:最新)?
运行本地注册表时,这里有两个主要设置:
-
必须使用insecure_registries:
insecure_registries: ["my.local.registry:8080"]
-
如果您在" Localhost"中运行注册表,则不应将Local -Host用作注册表的地址,如果您这样做,Docker Image将尝试解决Docker Image的Localhost,而不是为了避免此问题,您的本地机器使用本地计算机的IP地址。(不要使用127.0.0.1)
您可以在管道中的resource_types
密钥下定义您的自定义资源类型。
eg:
resource_types:
- name: custom-git
type: docker-image
source:
repository: localhost:5000/local_git
一个重要的注意是,自定义资源类型的图像以与管道中使用基本资源相同的方式获取,因此对于您的私人Docker注册表的情况,您只需要在docker-image
资源上配置必要的source:
(请参阅Docker-image-Resource的文档)
然后,您可以像任何基本类型一样使用资源类型:
resources:
- name: some-custom-git-resource
type: custom-git
source: ...
注意资源的type:
密钥与资源类型上的name:
匹配。
查看用于配置资源类型的大厅文档,以获取有关如何在管道中使用自定义类型的更多信息。