如何在Concourse CI中从git-resource构建docker-compose容器?

时间:2019-08-03 15:47:04

标签: docker docker-compose concourse concourse-git-resource

我目前正在尝试构建和部署Docker化的Go项目,该项目是从使用Concourse从Git存储库中提取的。

为您提供有关当前设置的背景信息:

  • 我设置了两个AWS Lightsail实例,它们都使用Docker容器服务于Concourse。
  • 这些实例中的一个实例为Web节点提供服务,另一个实例充当与该Web节点连接的辅助节点。

我当前的管道如下:

resources:
- name: zsu-wasserlabor-api-repo
  type: git
  webhook_token: TOP_SECRET
  source:
    uri: git@github.com:lennartschoch/zsu-wasserlabor-api
    branch: master
    private_key: TOP_SECRET

jobs:
- name: build-api
  plan:
  - get: zsu-wasserlabor-api-repo
    trigger: true
  - task: build
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: alpine}
      inputs:
      - name: zsu-wasserlabor-api-repo
      run:
        path: sh
        args: 
        - -c
        - |
          cd zsu-wasserlabor-api-repo
          docker-compose build

问题是未安装docker-compose。

我感觉自己在做一些根本错误的事情。有人可以给我一个提示吗?

最好

Lennart

1 个答案:

答案 0 :(得分:1)

上述管道指定应使用alpine图像,该图像上没有docker-compose。因此,您将需要找到安装了docker-compose的图像,但是即使如此,您仍需要采取其他步骤才能使其在Concourse中工作(有关更多详细信息,请参见此link )。

幸运的是,有人提供了一个图像,该图像负责其他步骤,并提供了示例管道,您可以在此处找到:https://github.com/meAmidos/dcind


也就是说,如果您只是尝试构建Docker映像,则可以使用docker-image-resource来代替,而只需指定Dockerfile。