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

Override entrypoint in Codeship service's image

我正在使用一个多阶段映像,它在构建过程中构建和测试服务,并且在推送步骤中运行良好。唯一的问题是我不想每次将 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?

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

如果您愿意,可以将您的 steps/services/Dockerfile(s)/入口点脚本发送至 support@codeship.com,我们将仔细查看。