Не удается выполнить развертывание в Реестре контейнеров Azure из GitLab

У меня есть следующий конвейер:

# .gitlab-ci.yml


stages:
  - build
  - push

build:
  stage: build
  services:
    - docker:dind
  image: docker:latest
  script:
    # Build the Docker image
    - docker build -t myfe:$CI_COMMIT_SHA .

push:
  stage: push
  image: bitnami/azure-cli
  script:
#    - echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_USERNAME --password-stdin
    - echo $ACR_CLIENT_ID | docker login mycr.azurecr.io --username $ACR_CLIENT_ID --password-stdin
    # Push the Docker image to the ACR
    - docker push myfe:$CI_COMMIT_SHA
  only:
    - main
#  before_script:
#    - echo "$DOCKERHUB_PASSWORD" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
  variables:
    DOCKERHUB_USERNAME: $DOCKERHUB_USERNAME
    DOCKERHUB_PASSWORD: $DOCKERHUB_PASSWORD

Это приводит к следующей ошибке:

Using docker image sha256:373... for bitnami/azure-cli with digest bitnami/azure-cli@sha256:9128... ...
ERROR: 'sh' is misspelled or not recognized by the system.
Examples from AI knowledge base:
https://aka.ms/cli_ref
Read more about the command in reference docs

Любая идея, что это может означать?

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
55
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Bitnami/azure-cli имеет точку входа az, поэтому ваш скрипт выполняется с параметрами az.

Чтобы решить эту проблему, вам нужно переопределить точку входа, используя: entrypoint: [""] в вашем gitlab-ci.yml.

Для получения дополнительной информации проверьте: https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#override-the-entrypoint-of-an-image

Если вы хотите использовать образ Azure CLI для этого файла .gitlab-ci.yml, вместо этого следует использовать официальный образ Microsoft:

image: mcr.microsoft.com/azure-cli

Работает как шарм!

Другие вопросы по теме

Nuxt3: как установить переменные среды выполнения после сборки докера через process.env
Почему обратный прокси-сервер Nginx на WSL2 не видит приложение Rails в контейнере Docker с использованием имени хоста?
Как я могу использовать pg_dump в Kubernetes для создания дампа из удаленного PostgreSQL (PGAAS)?
MongoError: сбой аутентификации с помощью docker-compose
Как добавить монтирование тома докера в PyCharm на Mac — отсутствуют «Настройки контейнера Docker»
Сбой восстановления/сборки dotnet в Linux с ошибкой MSB3202, файл проекта «PARENT_DIR/YYY.proj» не найден [PARENT_DIR/YYY.sln]
Кэширование образов Lambda Docker из стека CDK в конвейере
Docker PHP - установка PECL не может определить тип системы при использовании heredoc и bash, но работает с набором оболочек с помощью команды SHELL
Mkdir: невозможно создать каталог «cpuset»: файловая система только для чтения при запуске «сервисного запуска докера» в Dockerfile
Dockerfile с HEREDOC, работающим в bash