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