docker - 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 分钟。
解决方案
推荐阅读
- javascript - Express - 给出 res.redirect() 的基本路径
- php - php stdClass object 子值的嵌套对象
- three.js - Three.js - 细分几何时生成新的 faceVertexUvs
- javascript - UrlFetchApp 忽略 GET 查询参数
- ios - 我对“重新发送?”有疑问 textview上的文字换行
- sql - 如何在sql server中创建一个负随机数?
- c++ -
- c - inputSex() 和 inputAge() 的返回值没有返回任何东西?
- java - 从@ManyToOne 关系中仅获取一列
- powershell - 向脚本添加多线程的问题