覆盖Codeship服务映像中的入口点

时间:2018-09-24 16:16:18

标签: docker codeship

我正在处理一个多阶段映像,该映像在构建过程中构建和测试服务,并且在推送步骤中可以很好地工作。唯一的问题是,我不想每次将feature分支的版本发送给Codeship时都推送图像,所以我将其放在codeship-steps.yaml中:

 - name: Build API
    type: serial
    steps:
    - name: Build API image
      tag: ^(feature)
      service: api
      command: true
    - name: Push staging API image
      tag: ^(develop)
      type: push
      service: api
      image_name: gcr.io/project/api
      image_tag: "{{.CommitID}}"
      registry: https://gcr.io
      dockercfg_service: staging-gcr
    - name: Push production API image
      tag: ^(master)
      type: push
      service: api
      image_name: gcr.io/project/api
      image_tag: "{{.CommitID}}"
      registry: https://gcr.io
      dockercfg_service: production-gcr

以及codeship-services.yaml中的内容:

api:
  build:
    image: singularities/codeship-api
    dockerfile: api/Dockerfile

一切正常,但是Build API image步骤失败,因为它尝试运行类似docker run的服务。是否有任何方法可以覆盖入口点或告诉Codeship仅构建docker build之类的映像?

1 个答案:

答案 0 :(得分:0)

对于入口点脚本,我的建议是创建一个允许脚本成功退出的参数。

如果您愿意,可以将您的步骤/服务/ Dockerfile /入口点脚本发送到support@codeship.com,我们将进行仔细的研究。