3.7 C
United States of America
Saturday, November 23, 2024

EC2 Picture Builder now helps constructing and testing macOS pictures


Voiced by Polly

I’m thrilled to announce macOS help in EC2 Picture Builder. This new functionality permits you to create and handle machine pictures in your macOS workloads along with the present help for Home windows and Linux.

A golden picture is a bootable disk picture, additionally known as an Amazon Machine Picture (AMI), pre-installed with the working system and all of the instruments required in your workloads. Within the context of a steady integration and steady deployment (CI/CD) pipeline, your golden picture most likely comprises the particular model of your working system (macOS) and all required growth instruments and libraries to construct and check your functions (Xcode, Fastlane, and so forth.)

Growing and manually managing pipelines to construct macOS golden pictures is time-consuming and diverts gifted sources from different duties. And when you’ve got current pipelines to construct Linux or Home windows pictures, you want to use totally different instruments for creating macOS pictures, resulting in a disjointed workflow.

For these causes, a lot of you’ve got been asking for the flexibility to handle your macOS pictures utilizing EC2 Picture Builder. You need to consolidate your picture pipelines throughout working programs and reap the benefits of the automation and cloud-centered integrations that EC2 Picture Builder supplies.

By including macOS help to EC2 Picture Builder, now you can streamline your picture administration processes and scale back the operational overhead of sustaining macOS pictures. EC2 Picture Builder takes care of testing, versioning, and validating the bottom pictures at scale, saving you the prices related to sustaining your most well-liked macOS variations.

Let’s see it in motion
Let’s create a pipeline to create a macOS AMI with Xcode 16. You’ll be able to observe the same course of to put in Fastlane in your AMIs.

At a excessive stage, there are 4 important steps.

  1. I outline a part for every software I need to set up. A part is a YAML doc that tells EC2 Picture Builder what software to put in and the way. On this instance, I create a customized part to put in Xcode. If you wish to set up Fastlane, you create a second part. I take advantage of the ExecuteBash motion to enter the shell instructions required to put in Xcode.
  2. I outline a recipe. A recipe begins from a base picture and lists the elements I need to set up on it.
  3. I outline the infrastructure configuration I need to use to construct my picture. This defines the pool of Amazon Elastic Compute Cloud (Amazon EC2) cases to construct the picture. In my case, I allocate an EC2 Mac Devoted Host in my account and reference it within the infrastructure configuration.
  4. I create a pipeline and a schedule to run on the infrastructure with the given recipes and an picture workflow. I check the output AMI and ship it on the chosen vacation spot (my account or one other account)

It’s a lot simpler than it sounds. I’ll present you the steps within the AWS Administration Console. I may configure EC2 Picture Builder with the AWS Command Line Interface (AWS CLI) or write code utilizing considered one of our AWS SDKs.

Step 1: Create a part
I open the console and choose EC2 Picture Builder, then Parts, and at last Create part.

Image Builder - Create component

I choose a base Picture working system and the Suitable OS Variations. Then, I enter a Element identify and Element model. I choose Outline doc content material and enter this YAML as Content material.

identify: InstallXCodeDocument
description: This downloads and installs Xcode. Remember to run `xcodeinstall authenticate -s us-east-1` out of your laptop computer first.
schemaVersion: 1.0

phases:
  - identify: construct
    steps:
      - identify: InstallXcode
        motion: ExecuteBash
        inputs:
          instructions:
             - sudo -u ec2-user /decide/homebrew/bin/brew faucet sebsto/macos
             - sudo -u ec2-user /decide/homebrew/bin/brew set up xcodeinstall
             - sudo -u ec2-user /decide/homebrew/bin/xcodeinstall obtain -s us-east-1 --name "Xcode 16.xip"
             - sudo -u ec2-user /decide/homebrew/bin/xcodeinstall set up --name "Xcode 16.xip"
  
  - identify: validate
    steps:
      - identify: TestXcode
        motion: ExecuteBash
        inputs:
          instructions:
            -  xcodebuild -version && xcode-select -p   

I take advantage of a software I wrote to obtain and set up Xcode from the command line. xcodeinstall integrates with AWS Secrets and techniques Supervisor to securely retailer authentication internet tokens. Earlier than operating the pipeline, I authenticate from my laptop computer with the command xcodeinstall authenticate -s us-east-1. This command begins a session with Apple server’s and shops the session token in Secrets and techniques Supervisor. xcodeinstall makes use of this token in the course of the picture creation pipeline to obtain Xcode.

Whenever you use xcodeinstall with Secrets and techniques Supervisor, you will need to give permission to your pipeline to entry the secrets and techniques. Right here is the coverage doc I added to the function hooked up to the EC2 occasion utilized by EC2 Picture Builder (within the following infrastructure configuration).

{
	"Sid": "xcodeinstall",
	"Impact": "Enable",
	"Motion": [
            "secretsmanager:GetSecretValue"
            "secretsmanager:PutSecretValue"
        ],
	"Useful resource": "arn:aws:secretsmanager:us-east-1:<YOUR ACCOUNT ID>:secret:xcodeinstall*"
}

To check and debug these elements domestically, with out having to attend for lengthy cycle to begin and recycle the EC2 Mac occasion, you should utilize the AWS Job Orchestrator and Executor (AWSTOE) command.

Step 2: Create a recipe
The subsequent step is to create a recipe. On the console, I choose Picture recipes and Create picture recipe.

I choose macOS as the bottom Picture Working System. I select macOS Sonoma ARM64 as Picture identify.

Within the Construct elements part, I choose the Xcode 16 part I simply created throughout step 1.

Lastly, I make sure that the quantity is massive sufficient to retailer the working system, Xcode, and my builds. I normally choose a 500 Gb gp3 quantity.

Image Builder - Create a recipe

Steps 3 and 4: Create the pipeline (and the infrastructure configuration)
On the EC2 Picture Builder web page, I choose Picture pipelines and Create picture pipeline. I give my pipeline a reputation and choose a Construct schedule. For this demo, I choose a guide set off.Image Builder - Create Pipeline 1

Then, I choose the recipe I simply created (Sonoma-Xcode).

Image Builder - Create Pipeline 2

I selected Default workflows for Outline picture creation course of (not proven for brevity).

I create or choose an current infrastructure configuration. Within the context of constructing macOS pictures, you must allocate Amazon EC2 Devoted Hosts first. That is the place I select the occasion sort that EC2 Picture Builder will use to create the AMI. I can also optionally choose my digital non-public cloud (VPC), safety group, AWS Identification and Entry Administration (IAM) roles with permissions required in the course of the preparation of the picture, key pair, and all of the parameters I normally choose after I begin an EC2 occasion.

Image Builder - Create Pipeline 4

Lastly, I choose the place I need to distribute the output AMI. By default, it stays on my account. However I may share or copy it to different accounts.

Image Builder - Create Pipeline 5

Run the pipeline
Now I’m able to run the pipeline. I choose Picture pipelines, then I choose the pipeline I simply created (Sonoma-Xcode). From the Actions menu, I choose Run pipeline.

Image Builder - launch pipeline

I can observe the progress and the detailed logs from Amazon CloudWatch.

After some time, the AMI is created and able to use.

Image Builder - AMI build succeeded

Testing my AMI
To complete the demo, I begin an EC2 Mac occasion with the AMI I simply created (bear in mind to allocate a Devoted Host first or to reuse the one you used for EC2 Picture Builder).

As soon as the occasion is began, I connect with it utilizing safe shell (SSH) and confirm that Xcode is appropriately put in.

Image Builder - Connect to new AMI

Pricing and availability
EC2 Picture Builder for macOS is now out there in all AWS Areas the place EC2 Mac cases can be found: US East (Ohio, N. Virginia), US West (Oregon), Asia Pacific (Mumbai, Seoul, Singapore, Sydney, Tokyo), and Europe (Frankfurt, Eire, London, Stockholm) (not all Mac occasion varieties can be found in all Areas).

It comes at no further value, and also you’re solely charged for the sources in use in the course of the pipeline execution, specifically the time your EC2 Mac Devoted Host is allotted, with a minimal of 24 hours.

The preview of macOS help in EC2 Picture Builder permits you to consolidate your picture pipelines, automate your golden picture creation processes, and use the advantages of cloud-focused integrations on AWS. Because the EC2 Mac platform continues to broaden with extra occasion varieties, this new functionality positions EC2 Picture Builder as a complete resolution for picture administration throughout Home windows, Linux, and macOS.

Create your first pipeline right this moment! 

— seb



Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles