Gitlab CI:克隆回购工作挂起了工作

时间:2016-09-01 13:12:59

标签: gitlab gitlab-ci gitlab-ci-runner

我在Gitlab.com CI的CI过程中有两个作业管道(有共享的跑步者),第二个挂起img-src http:/maps.google.*

第一份工作" build"正确完成并将有效映像推送到AWS docker注册表。在开始检查存储库之前,第二个工作就会挂起。

我尝试了两种git策略" fetch"和"克隆"结果相同。

工作日志:

  • 使用gitlab-ci-multi-runner 1.5.2(76fdacd)
  • 运行
  • 使用Docker执行程序与图像silintl / ecs-deploy ...
  • 拉码头图片silintl / ecs-deploy ...
  • 通过runner-8a2f473d-machine-1472732000-783cccf8-digital-ocean-4gb ...
  • 在runner-8a2f473d-project-1459347-concurrent-0上运行
  • 克隆存储库......
  • 克隆到' / builds / zendoro / frontend-catalog' ...
  • 将c5b6078f签出为主...

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

结束

带有高山图像的完整工作日志:

  • 使用gitlab-ci-multi-runner 1.5.2(76fdacd)
  • 运行
  • 将Docker执行程序与映像jakubriedl / ecs-deploy ...
  • 一起使用
  • 拉码头图像jakubriedl / ecs-deploy ...
  • 在runner-8a2f473d-project-1459347-concurrent-0上通过runner-8a2f473d-machine-1472734703-4f8bb312-digital-ocean-4gb ...
  • 运行
  • 克隆存储库......
  • 克隆到' / builds / zendoro / frontend-catalog' ...
  • 将3647bc37作为主人......
  • 错误:构建失败:退出代码2

2 个答案:

答案 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部分。