我的 docker 镜像有问题,这些镜像是通过 gitlab 上传到 Azure 容器注册表的,但它们似乎没有更新当前代码,但它们在本地工作。
我的 .gitlab-ci.yml 文件可能有什么问题?
image:
name: docker/compose:1.25.4
entrypoint: [""]
services:
- docker:dind
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_DRIVER: overlay2
stages:
- develop
build-dev:
stage: develop
before_script:
- export IMAGE=$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
- apk add --no-cache --upgrade bash
script:
- apk add --no-cache bash
- chmod +x ./setup_env.sh
- bash ./setup_env.sh
- docker login $AZ_REGISTRY_IMAGE -u $AZ_USERNAME_REGISTRY -p $AZ_PASSWORD_REGISTRY
- docker pull $AZ_REGISTRY_IMAGE/proj:tag || true
- docker-compose build --no-cache
- docker tag $AZ_REGISTRY_IMAGE/proj:tag $AZ_REGISTRY_IMAGE/pixsar:$(date +%Y%m%d%H%M)
- docker push $AZ_REGISTRY_IMAGE/proj:$(date +%Y%m%d%H%M)
- docker system prune -af
only:
- develop
- fix-docker-1
这对我有用。
- 注意:- 如果您使用
docker-compose
,您将收到警告,但不会收到错误,并且也不会构建新的更新映像。version 1
- 确保在 gitlab 管道中没有收到错误
- 作为参考,请检查此文档。
我拉取了一个
nginx
图像并推送到azure容器注册表
.gitlab-ci.yml
:
docker-build:
# Use the official docker image.
image: docker:cli
stage: build
services:
- docker:dind
script:
- docker pull nginx
- docker login vshandilyaacr.azurecr.io -u vshandilyaacr -p xxxxxxxxxxxxxx
- docker tag nginx vshandilyaacr.azurecr.io/azuregitlab:docker
- docker push vshandilyaacr.azurecr.io/azuregitlab:docker
rules:
- if: $CI_COMMIT_BRANCH
exists:
- Dockerfile
OUTPUT
: