gpt4 book ai didi

concourse - 为什么在 `get` 之后,Concourse `put` 是一个资源?

转载 作者:行者123 更新时间:2023-12-04 03:31:51 26 4
gpt4 key购买 nike

当我配置以下管道时:

resources:
- name: my-image-src
type: git
source:
uri: https://github.com/concourse/static-golang
- name: my-image
type: docker-image
source:
repository: concourse/static-golang
username: {{username}}
password: {{password}}

jobs:
- name: "my-job"
plan:
- get: my-image-src
- put: my-image

在构建镜像并将其推送到 Docker 注册表后,它随后会获取该镜像。这可能需要一些时间,并且最终不会真正为构建添加任何内容。有没有办法禁用它?

最佳答案

每个 put 意味着所创建版本的 get。这有几个原因:

这样做的主要原因是新创建的资源可以被构建计划中的后续步骤使用。如果没有 get,就无法在构建执行期间引入"new"资源,因为它们都被解析为特定版本以在构建开始时获取。

这样做也有一些附带好处。一方面,它会立即加热一名工作人员的缓存。所以它至少不是完全没有值(value);以后的工作将不必获取它。它还可以验证 put 实际上具有预期效果。

在这种特殊情况下,由于它是构建计划的最后一步,主要原因并不真正适用。但是我们并没有费心去优化它,因为在大多数情况下,附带的好处使它不值得出现次要问题(“为什么只有一些 put 步骤意味着 get ?”)。

它也不能被禁用,因为我们拒绝添加如此多的旋钮,以至于您有一天想要转动,然后一旦您确实需要将其恢复为默认值就必须返回并关闭。

文档:https://concourse-ci.org/put-step.html

关于concourse - 为什么在 `get` 之后,Concourse `put` 是一个资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com