Marktkapitalisierung: $2.7298T 1.340%
Volumen (24h): $70.7591B 46.620%
  • Marktkapitalisierung: $2.7298T 1.340%
  • Volumen (24h): $70.7591B 46.620%
  • Angst- und Gier-Index:
  • Marktkapitalisierung: $2.7298T 1.340%
Cryptos
Themen
Cryptospedia
Nachricht
CryptosTopics
Videos
Top News
Cryptos
Themen
Cryptospedia
Nachricht
CryptosTopics
Videos
bitcoin
bitcoin

$83613.281522 USD

-0.31%

ethereum
ethereum

$1907.196020 USD

-0.12%

tether
tether

$0.999991 USD

-0.02%

xrp
xrp

$2.346667 USD

-0.01%

bnb
bnb

$638.706352 USD

6.12%

solana
solana

$128.851013 USD

-3.46%

usd-coin
usd-coin

$1.000040 USD

0.01%

dogecoin
dogecoin

$0.173959 USD

1.06%

cardano
cardano

$0.724425 USD

-0.57%

tron
tron

$0.214243 USD

-1.65%

pi
pi

$1.351541 USD

-9.35%

unus-sed-leo
unus-sed-leo

$9.827847 USD

0.06%

chainlink
chainlink

$13.795794 USD

-1.22%

toncoin
toncoin

$3.420442 USD

0.21%

stellar
stellar

$0.273472 USD

1.29%

Nachrichtenartikel zu Kryptowährungen

Erstellen von Multi-Architektur-Containerbildern mit AWS-Codebuild- und GitHub-Aktionen

Mar 14, 2025 at 08:34 am

Während sich die Landschaft des Computers weiterentwickelt, liegt der Schwerpunkt auf der Unterstützung einer Vielzahl von Computerarchitekturen.

Erstellen von Multi-Architektur-Containerbildern mit AWS-Codebuild- und GitHub-Aktionen

This blog was authored by Zakiya Randall, Technical Account Manager and co-written with Muru Bhaskaran, Sr. Specialist Solutions Architect.

Dieser Blog wurde von Zakiya Randall, technischer Account Manager, verfasst und mit Muru Bhaskaran, Specialist Solutions Architect, zusammengeschrieben.

As the landscape of computing continues to evolve, there is a growing emphasis on supporting a diverse range of computing architectures. This shift is driven by the need for flexibility, efficiency, and performance optimization across different hardware platforms. Consequently, it has become increasingly important for developers and organizations to build container images that are compatible with multiple architectures (multi-arch).

Während sich die Landschaft des Computers weiterentwickelt, liegt der Schwerpunkt auf der Unterstützung einer Vielzahl von Computerarchitekturen. Diese Verschiebung wird durch die Notwendigkeit von Flexibilität, Effizienz und Leistungsoptimierung über verschiedene Hardware -Plattformen angetrieben. Infolgedessen ist es für Entwickler und Organisationen immer wichtiger geworden, Containerbilder zu erstellen, die mit mehreren Architekturen (Multi-Arch) kompatibel sind.

AWS CodeBuild is a fully managed continuous integration service that now supports managed GitHub Actions runners, which are self-hosted runners that allow users to configure their CodeBuild projects to receive GitHub Actions workflow job events. In this post, we demonstrate a solution that uses GitHub, GitHub Actions workflows, and CodeBuild to build native container images for both x86 and AWS Graviton-based compute on AWS. Upon completion of our GitHub Actions workflow, we will proceed to push our multi-arch images to Amazon Elastic Container Registry (Amazon ECR).

AWS Codebuild ist ein vollständig verwalteter kontinuierlicher Integrationsdienst, der jetzt verwaltete GitHub-Aktionen-Läufer unterstützt, bei denen es sich um selbst gehostete Läufer handelt, die es Benutzern ermöglichen, ihre Codebuild-Projekte so zu konfigurieren, dass GitHub-Aktionen Workflow-Job-Ereignisse erhalten. In diesem Beitrag demonstrieren wir eine Lösung, die GitHub, GitHub-Aktionen Workflows und Codebuild verwendet, um native Containerbilder sowohl für X86 als auch für AWS-Graviton-basierte Computer auf AWS zu erstellen. Nach Abschluss unseres Workflows für Github Actions werden wir unsere Multi-Arch-Bilder in die Registrierung von Amazon Elastic Container (Amazon ECR) weitergeben.

Solution overview

Lösungsübersicht

The architecture diagram illustrates the workflow that occurs upon committing a change to the GitHub repository, detailing the subsequent steps involved in pushing the container image to Amazon ECR.

Das Architekturdiagramm veranschaulicht den Workflow, der bei einer Änderung des Github -Repositorys auftritt und die nachfolgenden Schritte zum Drücken des Containerbildes in Amazon ECR beschreibt.

Figure 1: Solution architecture diagram

Abbildung 1: Lösungsarchitekturdiagramm

Prerequisites

Voraussetzungen

The following prerequisites are necessary to complete this solution:

Die folgenden Voraussetzungen sind erforderlich, um diese Lösung zu vervollständigen:

Walkthrough

Vorgehensweise

The following steps walk you through this solution.

Die folgenden Schritte führen Sie durch diese Lösung.

Creating GitHub repository files

Erstellen von GitHub -Repository -Dateien

To begin creating the solution, you need a GitHub repository to store the Dockerfile, index.html file, and GitHub Actions workflow YAML file. Refer to Creating a new GitHub repository for step by step instructions. For this example, the following files should be committed to the root of the GitHub repository.

Um die Lösung zu erstellen, benötigen Sie ein GitHub -Repository, um die Datei DockerFile, Index.html und GitHub -Aktionen zu speichern. Erstellen Sie ein neues Github -Repository für Schritt -für -Schritt -Anweisungen. In diesem Beispiel sollten die folgenden Dateien zum Stamm des Github -Repositorys verpflichtet werden.

Create two CodeBuild projects for the x86 and arm64 compute architectures

Erstellen Sie zwei Codebuild -Projekte für die Rechenarchitekturen X86 und ARM64

You must create two CodeBuild projects to run your GitHub Actions jobs. Your CodeBuild projects should follow the following naming structure for -x86 and -arm64. Refer to the following tutorial to set up two CodeBuild projects for the x86 and arm64 compute environments. You should use the OAuth app authentication method to connect with your GitHub repository. For the x86 and arm64 CodeBuild projects, choose a supported environment image that matches each compute architecture. Your Buildspec build specifications are ignored. Instead, CodeBuild overrides it to use commands that setup the compute runner.

Sie müssen zwei Codebau -Projekte erstellen, um Ihre GitHub -Aktionen -Jobs auszuführen. Ihre Codebuild -Projekte sollten der folgenden Namensnamenstruktur für -x86 und -arm64 folgen. In der folgenden Tutorial finden Sie zwei Codebuild -Projekte für die Rechenumgebungen X86 und ARM64. Sie sollten die OAuth -App -Authentifizierungsmethode verwenden, um eine Verbindung mit Ihrem GitHub -Repository herzustellen. Wählen Sie für die X86- und ARM64 -Codebuild -Projekte ein unterstütztes Umgebungsbild, das jeder Rechenarchitektur entspricht. Ihre BuildSpec -Build -Spezifikationen werden ignoriert. Stattdessen überschreibt Codebuild es, um Befehle zu verwenden, mit denen der Computerläufer eingerichtet wird.

Figure 2: CodeBuild Projects for x86 and arm64

Abbildung 2: Codebuild -Projekte für X86 und ARM64

Create an Amazon ECR repository

Erstellen Sie ein Amazon ECR -Repository

You also need to create an Amazon ECR repository to store the x86 and arm64 container images. Run the following AWS CLI command to create an Amazon ECR repository.

Sie müssen außerdem ein Amazon ECR -Repository erstellen, um die Containerbilder X86 und ARM64 zu speichern. Führen Sie den folgenden AWS CLI -Befehl aus, um ein Amazon ECR -Repository zu erstellen.

After creating and defining your Amazon ECR repository, you must define a role so that the CodeBuild runners can have permission to access and push your images to your Amazon ECR repository. The following role that you create allows you to push images to your Amazon ECR repository.

Nachdem Sie Ihr Amazon ECR -Repository erstellt und definiert haben, müssen Sie eine Rolle definieren, damit die Codebuild -Läufer die Erlaubnis haben können, auf Ihre Bilder auf Ihr Amazon ECR -Repository zuzugreifen und zu schieben. Mit der folgenden Rolle, die Sie erstellen, können Sie Bilder in Ihr Amazon ECR -Repository schieben.

After creating the policy, go to the AWS Identity and Access Management (IAM) console to create an Identity Provider and choose OpenID Connect. For the Provider URL, choose https://token.actions.githubusercontent.com. For the Audience, choose sts.amazonaws.com.

Gehen Sie nach der Erstellung der Richtlinie zur AWS -Identitäts- und Zugriffsmanagement -Konsole (IAM), um einen Identitätsanbieter zu erstellen und OpenID Connect zu wählen. Für die URL der Anbieter wählen Sie https://token.actions.githubuSercontent.com. Für das Publikum wählen Sie Sts.Amazonaws.com.

2. After you create the provider, create a role and choose Web Identity. In the drop-down box, you should see the Provider URL for https://token.actions.githubusercontent.com. Choose this option and specify sts.amazonaws.com for your Audience. In the GitHub organization, specify your GitHub Organization and add the repository that you created in the initial setup. Choose Next.

2. Nachdem Sie den Anbieter erstellt haben, erstellen Sie eine Rolle und wählen Sie Webidentität. In der Dropdown-Box sollten Sie die URL der Anbieter für https://token.actions.githubuSercontent.com sehen. Wählen Sie diese Option und geben Sie STs.amazonaws.com für Ihr Publikum an. Geben Sie in der GitHub -Organisation Ihre GitHub -Organisation an und fügen Sie das im Erst -Setup erstellte Repository hinzu. Wählen Sie als nächstes.

Figure 3: Example of creating the role

Abbildung 3: Beispiel für die Erstellung der Rolle

3. On the Add Permissions page, choose the policy that you created in Step 1 so that you can push images to Amazon ECR. Choose Next. On the next screen, name the role and choose Create role.

3. Wählen Sie auf der Seite "Berechtigungen hinzufügen" die in Schritt 1 erstellte Richtlinie, damit Sie Bilder an Amazon ECR übertragen können. Wählen Sie als nächstes. Benennen Sie auf dem nächsten Bildschirm die Rolle und wählen Sie die Rolle.

Figure 4: Example of adding policy permissions

Abbildung 4: Beispiel für das Hinzufügen von Richtlinienberechtigungen

4. Go to Settings within your GitHub repository, and under Security in the left pane, choose Secrets and Variables. Choose the Actions tab within Secrets and Variables. Choose New repository secret. For the name, enter AWS_ROLE_ARN, enter the AWS Role ARN of the role that you created in Step 3, and choose Add secret.

4. Wählen Sie zu Einstellungen in Ihrem Github -Repository und wählen Sie im linken Bereich Geheimnisse und Variablen. Wählen Sie die Registerkarte Aktionen in Geheimnissen und Variablen. Wählen Sie ein neues Repository -Geheimnis. Geben Sie für den Namen AWS_ROLE_ARN ein, geben Sie die AWS -Rolle der Rolle der in Schritt 3 erstellten Rolle ein und wählen Sie das Geheimnis hinzufügen.

Figure 5: Example of creating GitHub Actions secret for the AWS Role

Abbildung 5: Beispiel für das Erstellen von Github -Aktionen, die für die AWS -Rolle geheim sind

5. Create another New repository secret for AWS_REGION. Specify the Region in which you created your resources and choose Add secret.

5. Erstellen Sie ein weiteres neues Repository -Geheimnis für AWS_region. Geben Sie die Region an, in der Sie Ihre Ressourcen erstellt haben, und wählen Sie das Geheimnis hinzufügen.

Figure 6: Example of GitHub Actions secret for the AWS Region

Abbildung 6: Beispiel für GitHub -Aktionen geheim für die AWS -Region

Prepare GitHub Actions workflow

Bereiten Sie GitHub Actions Workflow vor

A GitHub Actions workflow is a configurable automated process made up of one or more jobs and you can define these jobs in a YAML file. You are going to create a YAML file in the .github/workflows directory within your GitHub repository that defines the workflow for the solution. The YAML file for your GitHub Actions workflow contains the build

Ein Workflow von GitHub Actions ist ein konfigurierbarer automatisierter Prozess, der aus einem oder mehreren Jobs besteht, und Sie können diese Jobs in einer YAML -Datei definieren. Sie erstellen eine YAML -Datei im Verzeichnis .github/Workflows in Ihrem Github -Repository, das den Workflow für die Lösung definiert. Die YAML -Datei für Ihren GitHub -Aktions -Workflow enthält den Build

Haftungsausschluss:info@kdj.com

Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!

Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.

Weitere Artikel veröffentlicht am Mar 17, 2025