我正在处理一个多阶段映像,该映像在构建过程中构建和测试服务,并且在推送步骤中可以很好地工作。唯一的问题是,我不想每次将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
之类的映像?
答案 0 :(得分:0)
对于入口点脚本,我的建议是创建一个允许脚本成功退出的参数。
如果您愿意,可以将您的步骤/服务/ Dockerfile /入口点脚本发送到support@codeship.com,我们将进行仔细的研究。