Este repositorio permite correr en un ambiente local el Azure CLI, con docker compose. La motivación principal fue que en la documentación oficial, solo se proporciona el siguiente ejemplo para arracar el contenedor:
docker run -it mcr.microsoft.com/azure-cli:<version>
Esto implica que las extensiones como por ejemplo datafactory
,databricks
entre otras, tienen que ser instaladas manualmente.
Adicional a ello la información generada en el contenedor anterior al no poseer un volumen se perdería al detenerlo.
-
Una vez se clone el proyecto
git clone https://github.com/HubertRonald/AzureCLI.git
-
Luego habilita los siguientes scripts de bash para que puedan ser ejecutados:
chmod +x start.sh stop.sh destroy.sh
-
Asegurase de tener Docker Desktop encendido
-
Se puede iniciar rápidamente desde la terminal con:
./start.sh
-
Para finalizar el proceso, en la terminal correr:
./stop.sh
-
Para destruir el servicio y el contenedor (también), sin eliminar los archivos en la carpeta
data
:./destroy.sh
En el archivo .env se encuentra la variable EXTENSIONS
que viene configurada con algunos servicios por defecto.
Si se requiere agregar el servicio kusto
por ejemplo, solo se adiciona en la misma linea y separado por coma (,
):
EXTENSIONS="datafactory,databricks,powerbidedicated,kusto"
Al lanzar nuevamente el servicio ./start.sh
corriendo el siguiente comando:
az extension list
Que se describe en Use and manage extensions with the Azure CLI se evidencia su instalación:
[
{
"experimental": true,
"extensionType": "whl",
"name": "kusto",
"path": "/root/.azure/cliextensions/kusto",
"preview": false,
"version": "0.1.1"
},
{
"experimental": false,
"extensionType": "whl",
"name": "databricks",
"path": "/root/.azure/cliextensions/databricks",
"preview": false,
"version": "0.8.0"
},
{
"experimental": true,
"extensionType": "whl",
"name": "datafactory",
"path": "/root/.azure/cliextensions/datafactory",
"preview": false,
"version": "0.1.0"
}
]
Nota: tengase en cuenta que al ser objeto json la respuesta los servicios pueden que no salgan en el mismo orden cuando se lance el comando
az extension list
. Adicionalmente para ver todos los servicios de azure disponibles en el cli, se ejecuta el siguiente comando azextension list-available
.
Una vez levantado el servicio azcli en docker se recomienda ver How to manage Azure subscriptions with the Azure CLI
En resumen, para lograr lo anterior, basta correr cualquiera de los dos comandos (dependiendo si es personal o corporativa la cuenta) para ingresar desde el servicio de docker azcli
# ingresar con un usuario diferente
az login --user <miUsuario@miEmpresa.com> -password <miClave>
# ingresar con un Tenant diferente
az login --tenant <miTenantID>
Nota: Para las cuentas con doble autenticación en la terminal te dará un código que deberas ingresar en el explorador que tengas el portal ya abierto.
Fue generado en gitignore.io con los filtros macos
, windows
y consumido mediante su API como archivo crudo desde la terminal:
curl -L https://www.toptal.com/developers/gitignore/api/macos,windows > .gitignore
- Hubert Ronald - Trabajo Inicial - HubertRonald / AzureCLI
Ve también la lista de contribuyentes que participaron en este proyecto.
Este proyecto está bajo licencia MIT - ver la LICENCIA archivo (en inglés) con más detalles