Я использую интерфейс командной строки Azure для проверки работоспособности некоторых виртуальных машин Azure. Проверка работоспособности осуществляется через этап Jenkins с использованием bash. Сам этап может занять несколько часов, в течение которых выполняются несколько команд z 'vm run', для всех из которых требуются надлежащие учетные данные.
У меня также есть несколько конвейеров Jenkins, которые развертывают разные продукты и предполагаютсячтобы иметь возможность работать параллельно. Все они имеют одинаковый этап проверки работоспособности.
Когда я выполняю ' az login ' для создания токена авторизации и ' az account set ' для установки подпискиНасколько я понял, эти данные записываются в файл профиля ( ~ / .azure / azureProfile.json ). Так что это хорошо, но всякий раз, когда я запускаю параллельный конвейер в этом контейнере Jenkins, если я использую другую подписку Azure, файл профиля будет естественным образом перезаписываться различными учетными данными, что приводит к сбою другой проверки работоспособности при получениик следующему выполнению команды запуска vm, так как он ищет группу ресурсов, которая существует в другой подписке.
Я думал о том, чтобы потенциально создать нового уникального пользователя Linux в рамках каждого этапа запуска, а затем удалить егоПосле этого все конвейеры будут иметь отдельные файлы профиля. Это немного сложно, так как это докер-контейнер Jenkins, использующий альпийское изображение, и мне нужно было бы создавать пользователей с каждым конвейером, а не в dockerfile, что подводит меня к другой драме - чтобы дать пользователю Jenkins достаточнопривилегии для создания и удаления пользователей и т. д. ...
Кроме того, поскольку учетные данные сеанса по умолчанию хранятся в файлах ~ / .azure / accessTokens.json и azureProfile.json, теоретически можно создать другойкаталог для каждого выполнения, но я не смог найти способ изменить эти файлы / расположение по умолчанию в документах Azure.
Как, по вашему мнению, самый лучший / простой способ обойти это?