在运行任务之前长时间待机

我有一个使用存储在我们的本地Artifactory服务器的Docker镜像的任务Concourse Pipeline。 每次启动pipe道时,大约需要5分钟,直到任务最终运行。 日志看起来像这样:

在这里输入图像说明

我假设Concourse以某种方式检查更新版本的Docker镜像。 不幸的是我没有机会debugging,因为Concourse worker VM上的所有日志文件都没有提供可用的信息。

我的问题:

  1. 当Concourse说“准备build造”,状态是“挂起”时,我怎么可能debugging正在发生的事情。

  2. 是否有机会避免Concourse检查Docker镜像的更新版本? 我用latest版本标记了Docker镜像 – 这可能是一个问题吗?

  3. 还有什么想法,我可以加快速度?

以下是我的pipe道和任务的详细configuration:

pipeline.yml:

 --- resources: - name: concourse-image type: docker-image source: repository: OUR_DOMAIN/subpath/concourse username: ... password: ... insecure_registries: - OUR_DOMAIN # ... jobs: - name: deploy public: true plan: - get: concourse-image - task: create-manifest image: concourse-image file: concourse/tasks/create-manifest/task.yml params: # ... 

task.yml:

 --- platform: linux inputs: - name: git - name: concourse outputs: - name: deployment-manifest run: path: concourse/tasks/create-and-upload-cloud-config/task.sh 

造成这个问题的原因是我们从仅在HTTP上运行的内部Dockerregistry中提取了Docker镜像。 Concourse试图使用HTTPS来拉取图像,并花了大约5分钟,直到Concourse切换到HTTP(这是工人的tcpdump向我们展示的)。

将资源configuration更改为以下configuration解决了问题:

 resources: - name: concourse-image type: docker-image source: repository: OUR_SERVER:80/subpath/concourse username: docker-readonly password: docker-readonly insecure_registries: - OUR_SERVER:80 

所以基本上是将端口显式添加repositoryinsecure_registries

Interesting Posts