in

EC2 Image Builder ahora admite la creación y prueba de imágenes de macOS | Servicios web de Amazon

Estoy emocionado de anunciar macos soporte en EC2 Image Builder. Esta nueva capacidad le permite crear y administrar imágenes de máquina para sus cargas de trabajo de macOS además del soporte existente para Windows y Linux.

Una imagen dorada es una imagen de disco de arranque, también llamada imagen de máquina de Amazon (AMI), preinstalada con el sistema operativo y todas las herramientas necesarias para sus cargas de trabajo. En el contexto de una canalización de integración e implementación continuas (CI/CD), lo más probable es que su imagen dorada contenga la versión específica de su sistema operativo (macOS) y todas las herramientas y bibliotecas de desarrollo necesarias para crear y probar sus aplicaciones (Xcode, carril rápidoetcétera.)

Desarrollar y administrar manualmente canalizaciones para crear imágenes maestras de macOS requiere mucho tiempo y desvía recursos talentosos de otras tareas. Y cuando tiene canales existentes para crear imágenes de Linux o Windows, necesita usar diferentes herramientas para crear imágenes de macOS, lo que genera un flujo de trabajo inconexo.

Por estas razones, muchos de ustedes han estado pidiendo la posibilidad de administrar sus imágenes de macOS usando EC2 Image Builder. Quiere consolidar sus canales de imágenes en todos los sistemas operativos y aprovechar la automatización y las integraciones centradas en la nube que proporciona EC2 Image Builder.

Al agregar compatibilidad con macOS a EC2 Image Builder, ahora puede optimizar sus procesos de administración de imágenes y reducir la sobrecarga operativa del mantenimiento de imágenes de macOS. EC2 Image Builder se encarga de probar, versionar y validar las imágenes base a escala, ahorrándole los costos asociados con el mantenimiento de sus versiones preferidas de macOS.

Veámoslo en acción
Creemos una canalización para crear una AMI de macOS con Xcode 16. Puede seguir un proceso similar para instalar Fastlane en sus AMI.

En un nivel alto, hay cuatro pasos principales.

  1. Defino un componente para cada herramienta que quiero instalar. Un componente es un documento YAML que le indica a EC2 Image Builder qué aplicación instalar y cómo. En este ejemplo, creo un componente personalizado para instalar Xcode. Si desea instalar Fastlane, cree un segundo componente. yo uso el ExecuteBash acción para ingresar los comandos de shell necesarios para instalar Xcode.
  2. Defino una receta. Una receta comienza a partir de una imagen base y enumera los componentes que quiero instalar en ella.
  3. Defino la configuración de infraestructura que quiero usar para construir mi imagen. Esto define el grupo de instancias de Amazon Elastic Compute Cloud (Amazon EC2) para crear la imagen. En mi caso, asigno un host dedicado EC2 Mac en mi cuenta y lo hago referencia en la configuración de la infraestructura.
  4. Creo una canalización y un cronograma para ejecutar en la infraestructura con las recetas dadas y un flujo de trabajo de imágenes. Pruebo la AMI de salida y la entrego en el destino elegido (mi cuenta u otra cuenta)

Es mucho más fácil de lo que parece. Le mostraré los pasos en la Consola de administración de AWS. También puedo configurar EC2 Image Builder con la interfaz de línea de comandos de AWS (AWS CLI) o escribir código utilizando uno de nuestros SDK de AWS.

Paso 1: crear un componente
Abro la consola y selecciono Generador de imágenes EC2entonces Componentesy finalmente Crear componente.

Generador de imágenes: crear componente

selecciono una base Sistema operativo de imagen y el Versiones de SO compatibles. Luego entro en un Nombre del componente y Versión del componente. yo selecciono Definir el contenido del documento e ingrese este YAML como Contenido.

name: InstallXCodeDocument
description: This downloads and installs Xcode. Be sure to run `xcodeinstall authenticate -s us-east-1` from your laptop first.
schemaVersion: 1.0

phases:
  - name: build
    steps:
      - name: InstallXcode
        action: ExecuteBash
        inputs:
          commands:
             - sudo -u ec2-user /opt/homebrew/bin/brew tap sebsto/macos
             - sudo -u ec2-user /opt/homebrew/bin/brew install xcodeinstall
             - sudo -u ec2-user /opt/homebrew/bin/xcodeinstall download -s us-east-1 --name "Xcode 16.xip"
             - sudo -u ec2-user /opt/homebrew/bin/xcodeinstall install --name "Xcode 16.xip"
  
  - name: validate
    steps:
      - name: TestXcode
        action: ExecuteBash
        inputs:
          commands:
            -  xcodebuild -version && xcode-select -p   

Utilizo una herramienta que escribí para descargar e instalar Xcode desde la línea de comandos. instalación xcode se integra con AWS Secrets Manager para almacenar de forma segura tokens web de autenticación. Antes de ejecutar la canalización, me autentico desde mi computadora portátil con el comando xcodeinstall authenticate -s us-east-1. Este comando inicia una sesión con el servidor Apple y almacena el token de sesión en Secrets Manager. xcodeinstall usa este token durante el proceso de creación de imágenes para descargar Xcode.

Cuando usa xcodeinstall con Secrets Manager, debe otorgar permiso a su canalización para acceder a los secretos. Aquí está el documento de política que agregué al rol adjunto a la instancia EC2 utilizada por EC2 Image Builder (en la siguiente configuración de infraestructura).

{
	"Sid": "xcodeinstall",
	"Effect": "Allow",
	"Action": [
            "secretsmanager:GetSecretValue"
            "secretsmanager:PutSecretValue"
        ],
	"Resource": "arn:aws:secretsmanager:us-east-1::secret:xcodeinstall*"
}

Para probar y depurar estos componentes localmente, sin tener que esperar un ciclo largo para iniciar y reciclar la instancia EC2 de Mac, puede utilizar el comando AWS Task Orchestrator and Executor (AWSTOE).

Paso 2: crea una receta
El siguiente paso es crear una receta. En la consola selecciono Recetas de imágenes y Crear receta de imagen.

Selecciono macOS como base Imagen del sistema operativo. Elijo macOS Sonoma ARM64 como Nombre de la imagen.

En el Construir componentes sección, selecciono el componente Xcode 16 que acabo de crear durante el paso 1.

Finalmente, me aseguro de que el volumen sea lo suficientemente grande para almacenar el sistema operativo, Xcode y mis compilaciones. Yo suelo seleccionar uno de 500 Gb gp3 volumen.

Generador de imágenes: crea una receta

Pasos 3 y 4: crear la canalización (y la configuración de la infraestructura)
en el Generador de imágenes EC2 página, selecciono Tuberías de imágenes y Crear canalización de imágenes. Le doy un nombre a mi canalización y selecciono un Calendario de construcción. Para esta demostración, selecciono un disparador manual.Generador de imágenes: crear canalización 1

Luego, selecciono la receta que acabo de crear (Sonoma-Xcode).

Generador de imágenes: crear canalización 2

Elegí Flujos de trabajo predeterminados para Definir el proceso de creación de imágenes. (no se muestra por brevedad).

Creo o selecciono un existente configuración de infraestructura. En el contexto de la creación de imágenes de macOS, primero debe asignar hosts dedicados de Amazon EC2. Aquí es donde elijo el tipo de instancia que EC2 Image Builder utilizará para crear la AMI. Opcionalmente, también puedo seleccionar mi nube privada virtual (VPC), grupo de seguridad, roles de AWS Identity and Access Management (IAM) con los permisos necesarios durante la preparación de la imagen, par de claves y todos los parámetros que suelo seleccionar cuando inicio un EC2. instancia.

Generador de imágenes: crear canalización 4

Finalmente, selecciono dónde quiero distribuir la AMI de salida. Por defecto, permanece en mi cuenta. Pero también puedo compartirlo o copiarlo a otras cuentas.

Generador de imágenes: crear canalización 5

ejecutar la tubería
Ahora estoy listo para ejecutar la tubería. yo selecciono Tuberías de imágenesluego selecciono la canalización que acabo de crear (Sonoma-Xcode). Desde Comportamiento menú, selecciono Ejecutar canalización.

Image Builder: proceso de lanzamiento

Puedo observar el progreso y los registros detallados de Amazon CloudWatch.

Después de un tiempo, la AMI se crea y está lista para usar.

Image Builder: la compilación de AMI se realizó correctamente

Probando mi AMI
Para finalizar la demostración, inicio una instancia EC2 Mac con la AMI que acabo de crear (recuerde asignar primero un host dedicado o reutilizar el que usó para EC2 Image Builder).

Una vez que se inicia la instancia, me conecto a ella mediante un shell seguro (SSH) y verifico que Xcode esté instalado correctamente.

Image Builder: conexión a una nueva AMI

Precios y disponibilidad
EC2 Image Builder para macOS ahora está disponible en todas las regiones de AWS donde están disponibles las instancias EC2 Mac: EE. UU. Este (Ohio, N. Virginia), EE. UU. Oeste (Oregón), Asia Pacífico (Mumbai, Seúl, Singapur, Sídney, Tokio) y Europa (Frankfurt, Irlanda, Londres, Estocolmo) (no todos los tipos de instancias de Mac están disponibles en todas las regiones).

No tiene costo adicional y solo se le cobra por los recursos en uso durante la ejecución del proceso, es decir, el tiempo que se asigna su host dedicado EC2 Mac, con un mínimo de 24 horas.

La vista previa de la compatibilidad con macOS en EC2 Image Builder le permite consolidar sus canales de imágenes, automatizar sus procesos de creación de imágenes doradas y utilizar los beneficios de las integraciones centradas en la nube en AWS. A medida que la plataforma EC2 Mac continúa expandiéndose con más tipos de instancias, esta nueva capacidad posiciona a EC2 Image Builder como una solución integral para la gestión de imágenes en Windows, Linux y macOS.

¡Cree su primera canalización hoy!

— seb



Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

GIPHY App Key not set. Please check settings

iOS 18.2 incluye una aplicación de correo renovada con categorización incorporada

Misiones de Halloween de Disney Dreamlight Valley 2024: comida de 3 platos, máscaras y más

Misiones de Halloween de Disney Dreamlight Valley 2024: comida de 3 platos, máscaras y más