#azure #gitlab #gitlab-ci #azure-cli
#azure #gitlab #gitlab-ci #azure-cli
Вопрос:
Я пытаюсь запустить задачу в GitLab CI, используя официальный образ докера MS Azure-CLI. На первом шаге происходит сбой при входе в систему с помощью команды «az login». Я использую логин участника службы с секретом, все они хранятся как переменные GitLab CI. Использование этой команды с заданием CI:
az login --service-principal --username="${AZURE_APP_ID}" --password="${AZURE_CLIENT_SECRET}" --tenant=${AZURE_TENANT_ID}
выдает ошибку:
usage error: --service-principal --username NAME --password SECRET --tenant TENANT
Тем не менее, если я запускаю образ Azure-CLI docker локально и выполняю ту же самую команду, она работает нормально. Почему это не работает? Какой формат мне нужно использовать, чтобы заставить эту чертову штуку работать?
Комментарии:
1. Сначала проверьте, установлен ли Azure-CLI в контейнере. Во-вторых, проверьте, установлены ли переменные.
2. Это официальный образ контейнера CLI Microsoft Azure, конечно, он установлен. Переменные еще не заданы в изображении, они передаются через GitLab CI.
3. Можете ли вы поделиться скриншотом ошибки и кодом задачи?
4. @Matt Вы можете проверить доступ к этим переменным из конвейера CI?
5. @CharlesXu: azure-cli должен быть установлен, поскольку указанная ошибка — это ошибка, которую вернет azure-cli
Ответ №1:
Отладка с использованием стиля разработки, основанного на печати.
Перед az login
строкой повторите все переменные, чтобы увидеть, имеют ли они правильные значения.
Я мог воспроизвести ошибку, которую вы указали, только в одном случае, когда командная строка содержала только это: az login --service-principal
Если предоставлены еще какие-либо аргументы или мусор, ошибка будет другой. Вы должны проверить, выполняет ли Gitlab CI даже те команды, которые, по вашему мнению, он должен выполнить.