¡Utiliza git como la fuente de verdad para tus scripts! Utiliza pipelines de CI/CD que cargan los scripts modificados más recientemente a un servidor de Jamf Pro.
Esta es una reescritura de git4jamfpro (que a su vez es una reescritura de git2jss). Ambos son scripts muy buenos; sin embargo, descubrí rápidamente que ambos siguen utilizando el endpoint de la API clásica y no el nuevo Jamf Pro API Endpoint. (También prefería archivos json en lugar de xml).
- Sin dependencias de python
- Sin dependencias de xmlstarlet
- Utiliza Client ID & Client Secrets a través de roles y clientes de API en lugar de Bearer Auth
- Permite cargar scripts muy grandes (INSTALLOMATOR, por ejemplo)
- Permite descargar todos los scripts en paralelo desde un servidor de Jamf Pro
-
Una instancia de Jamf Pro (por supuesto)
-
Un servidor de VCS git (github, bitbucket, ...)
-
Un Client ID & Client Secret generado para tu instancia de Jamf Pro
-
en Texto..
- Create Scripts
- Read Scripts
- Update Scripts
- Create Computer Extension Attributes
- Create Mobile Device Extension Attributes
- Create User Extension Attributes
- Read Computer Extension Attributes
- Read Mobile Device Extension Attributes
- Read User Extension Attributes
- Update Computer Extension Attributes
- Update Mobile Device Extension Attributes
- Update User Extension Attributes
-
-
Una herramienta de CI/CD para automatización (Jenkins, CircleCI, Bitbucket Pipelines, GitHub Workflows, ...)
-
Un Runner con al menos:
- Bash 4.0 o superior (macOS incluye la versión 3.2, ten cuidado si usas runners de macOS)
gitinstaladojqinstalado
-
Haz un Fork / Descarga este repositorio
-
Descarga todos tus scripts y atributos de extensión actuales:
./jamfScriptSync.sh --url <YOUR_JAMF_PRO_SERVER> \
--clientid <API_Client_ID> \
--clientsecret <API_Client_Secret> \
--download-scripts \
--download-eas- Haz commit del repositorio poblado con los scripts en tu git:
git add .
git commit -a -m "feat(init): initial setup"- Haz push de este commit a tu propio repositorio. (donde quieras tener almacenados esos scripts)
Una vez terminada la configuración inicial, tus Pipelines podrían verse algo así (por supuesto, esto depende de tu propia configuración y estos son solo ejemplos):
Ahora puedes realizar cambios en tus scripts en tu propio repositorio, hacer push de esos cambios a git y dejar que tu CI/CD se encargue del resto del trabajo. 😄
¡Todas las contribuciones son muy apreciadas! Me harías el día si pudieras leer primero las Directrices de Contribución.
Quedo atento a tus sugerencias / mejoras. :)
