我在Gitlab.com CI的CI过程中有两个作业管道(有共享的跑步者),第二个挂起img-src http:/maps.google.*
第一份工作" build"正确完成并将有效映像推送到AWS docker注册表。在开始检查存储库之前,第二个工作就会挂起。
我尝试了两种git策略" fetch"和"克隆"结果相同。
工作日志:
gitlab-ci.yml:
Checking out c5b6078f as master...
我还尝试了另一张用于部署的图片" jakubriedl / ecs-deploy"这基本上是相同的,但在Alpine linux上并没有挂起,而是以image: ekino/dind-aws
stages:
- build
- deploy-dev
- deploy-prod
variables:
CONTAINER_IMAGE: XXXYYYZZZ.dkr.ecr.eu-west-1.amazonaws.com/$CI_PROJECT_NAME:$CI_BUILD_REF
CONTAINER_TAG: XXXYYYZZZ.dkr.ecr.eu-west-1.amazonaws.com/$CI_PROJECT_NAME:$CI_BUILD_REF_NAME
build:
stage: build
services:
- docker:dind
script:
- eval $(aws ecr get-login --region eu-west-1)
- docker build --pull -t $CONTAINER_IMAGE .
- docker push $CONTAINER_IMAGE
- docker tag $CONTAINER_IMAGE $CONTAINER_TAG
- docker push $CONTAINER_TAG
deployment-dev:
stage: deploy-dev
image: silintl/ecs-deploy
script:
- ecs-deploy -c default -n $CI_PROJECT_NAME -i $CONTAINER_IMAGE
environment: Development
dependencies:
- build
only:
- master
deployment-prod:
stage: deploy-prod
image: silintl/ecs-deploy
script:
- ecs-deploy -c production -n $CI_PROJECT_NAME -i $CONTAINER_IMAGE
environment: Production
dependencies:
- build
only:
- tags
带有高山图像的完整工作日志:
答案 0 :(得分:1)
问题在于GitLab-CI中的某种错误。图像不能定义ENTRYPOINT,因为它描述的方式失败。因此,在没有ENTRYPOINT的情况下创建图像就是解决方案。
关于gitlab https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1507
的相关问题答案 1 :(得分:0)
今天的答案更有可能出现在Overriding Entrypoints Doc - 标记为“For Docker 17.06+”的部分。
GitLab可以运行ENTRYPOINT
定义没有问题的图像,前提是你像entrypoint: [""]
一样覆盖它,然后将它当作你选择写出{{1部分。