首页 > 解决方案 > Gitlab Ci - 作业无需执行所有脚本命令即可成功运行。如何在脚本中执行多个 docker 命令?

问题描述

我正在使用带有 Docker 的 GitLab CI/CD 来创建 Docker 映像,在本例中是创建我的应用程序的映像并将其发布到容器注册表。

问题:Gitlab ci 告诉我作业成功但只执行了 1 个命令“ docker build ...”并且命令“docker push ...”没有执行

build:
  variables:
    <<: *app-variables
  stage: build and push image
  before_script:
    - docker login $DOCKER_REGISTRY -u $DOCKER_AUTH_USER -p $DOCKER_AUTH_PASSW
    - cd $CI_PROJECT_DIR/apps/$DOCKER_APP_FOLDER
  script:
    - |
      docker build --target=buildimage -t $DOCKER_REGISTRY/$DOCKER_REPO/$DOCKER_APP_FOLDER/build:$CI_COMMIT_BRANCH .
      docker push $DOCKER_REGISTRY/$DOCKER_REPO/$DOCKER_APP_FOLDER/build:$CI_COMMIT_BRANCH

我已经尝试将脚本命令更改为下面的代码,但具有相同的行为。

script:
    - docker build --target=buildimage -t $DOCKER_REGISTRY/$DOCKER_REPO/$DOCKER_APP_FOLDER/build:$CI_COMMIT_BRANCH .
    - docker push $DOCKER_REGISTRY/$DOCKER_REPO/$DOCKER_APP_FOLDER/build:$CI_COMMIT_BRANCH

注意:我不知道它是否相关,但图像的构建可能需要一些时间 ~ 30 分钟。

我遵循了Gitlab Docker Documentation上的文档

脚本结果

标签: dockergitlab-ci

解决方案


推荐阅读