Capitalisation boursière: $3.3843T 0.630%
Volume(24h): $115.6494B -9.640%
  • Capitalisation boursière: $3.3843T 0.630%
  • Volume(24h): $115.6494B -9.640%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $3.3843T 0.630%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top nouvelles
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
bitcoin
bitcoin

$109255.943346 USD

0.44%

ethereum
ethereum

$2576.771422 USD

0.33%

tether
tether

$1.000392 USD

0.00%

xrp
xrp

$2.244563 USD

0.13%

bnb
bnb

$661.282155 USD

0.33%

solana
solana

$151.348303 USD

-0.88%

usd-coin
usd-coin

$0.999915 USD

0.00%

tron
tron

$0.286551 USD

0.42%

dogecoin
dogecoin

$0.170740 USD

1.18%

cardano
cardano

$0.592419 USD

1.19%

hyperliquid
hyperliquid

$39.292356 USD

-1.41%

sui
sui

$3.003036 USD

3.67%

bitcoin-cash
bitcoin-cash

$489.883884 USD

-2.29%

chainlink
chainlink

$13.601976 USD

0.89%

unus-sed-leo
unus-sed-leo

$9.023183 USD

0.31%

Articles d’actualité sur les crypto-monnaies

Construire des images de conteneurs multi-architectures avec AWS CodeBuild et GitHub Actions

Mar 14, 2025 at 08:34 am

Alors que le paysage de l'informatique continue d'évoluer, l'accent est mis sur le soutien d'une gamme diversifiée d'architectures informatiques.

Construire des images de conteneurs multi-architectures avec AWS CodeBuild et GitHub Actions

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

Ce blog a été rédigé par Zakiya Randall, responsable des comptes techniques et co-écrit avec Muru Bhaskaran, architecte spécialiste des solutions spécialisées.

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).

Alors que le paysage de l'informatique continue d'évoluer, l'accent est mis sur le soutien d'une gamme diversifiée d'architectures informatiques. Ce changement est motivé par le besoin de flexibilité, d'efficacité et d'optimisation des performances sur différentes plates-formes matérielles. Par conséquent, il est devenu de plus en plus important pour les développeurs et les organisations de construire des images de conteneurs compatibles avec plusieurs architectures (multi-Arch).

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 est un service d'intégration continu entièrement géré qui prend désormais en charge les coureurs d'action GitHub gérés, qui sont des coureurs auto-hébergés qui permettent aux utilisateurs de configurer leurs projets CodeBuild pour recevoir des événements de travail de flux de travail GitHub Actions. Dans cet article, nous démontrons une solution qui utilise GitHub, GitHub Actions Workflows et CodeBuild pour construire des images de conteneur natif pour le calcul basé sur X86 et AWS sur AWS. À la fin de notre flux de travail GitHub Actions, nous procéderons pour pousser nos images multi-Arch vers Amazon Elastic Container Registry (Amazon ECR).

Solution overview

Présentation de la solution

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.

Le diagramme d'architecture illustre le flux de travail qui se produit lors de la transmission d'un changement dans le référentiel GitHub, détaillant les étapes suivantes impliquées dans la poussée de l'image du conteneur vers Amazon ECR.

Figure 1: Solution architecture diagram

Figure 1: Diagramme d'architecture de la solution

Prerequisites

Condition préalable

The following prerequisites are necessary to complete this solution:

Les conditions préalables suivantes sont nécessaires pour terminer cette solution:

Walkthrough

Procédure

The following steps walk you through this solution.

Les étapes suivantes vous guident à travers cette solution.

Creating GitHub repository files

Création de fichiers de référentiel GitHub

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.

Pour commencer à créer la solution, vous avez besoin d'un référentiel GitHub pour stocker le fichier dockerfile, index.html et le fichier de workflow actions GitHub. Reportez-vous à la création d'un nouveau référentiel GitHub pour les instructions étape par étape. Pour cet exemple, les fichiers suivants doivent être attachés à la racine du référentiel GitHub.

Create two CodeBuild projects for the x86 and arm64 compute architectures

Créez deux projets CodeBuild pour les architectures de calcul X86 et 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.

Vous devez créer deux projets CodeBuild pour exécuter vos travaux GitHub Actions. Vos projets CodeBuild doivent suivre la structure de dénomination suivante pour -x86 et -arm64. Reportez-vous au tutoriel suivant pour configurer deux projets CodeBuild pour les environnements x86 et ARM64 Calcul. Vous devez utiliser la méthode d'authentification de l'application OAuth pour vous connecter avec votre référentiel GitHub. Pour les projets X86 et ARM64 CodeBuild, choisissez une image d'environnement prise en charge qui correspond à chaque architecture de calcul. Vos spécifications de construction BuildSpec sont ignorées. Au lieu de cela, CodeBuild le remplace pour utiliser des commandes qui configurent le coureur de calcul.

Figure 2: CodeBuild Projects for x86 and arm64

Figure 2: Projets CodeBuild pour x86 et ARM64

Create an Amazon ECR repository

Créer un référentiel ECR Amazon

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.

Vous devez également créer un référentiel ECR Amazon pour stocker les images de conteneur X86 et ARM64. Exécutez la commande AWS CLI suivante pour créer un référentiel ECR Amazon.

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.

Après avoir créé et défini votre référentiel ECR Amazon, vous devez définir un rôle afin que les coureurs de code CodeBuild puissent avoir la permission d'accéder et de pousser vos images vers votre référentiel ECR Amazon. Le rôle suivant que vous créez vous permet de pousser des images vers votre référentiel ECR Amazon.

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.

Après avoir créé la politique, accédez à la console AWS Identity and Access Management) pour créer un fournisseur d'identité et choisir OpenID Connect. Pour l'URL du fournisseur, choisissez https://token.acts.githubusercontent.com. Pour le public, choisissez ST.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. Après avoir créé le fournisseur, créez un rôle et choisissez l'identité Web. Dans la boîte déroulante, vous devriez voir l'URL du fournisseur pour https://token.actions.githubuserContent.com. Choisissez cette option et spécifiez STS.AMAZONAWS.com pour votre public. Dans l'organisation GitHub, spécifiez votre organisation GitHub et ajoutez le référentiel que vous avez créé dans la configuration initiale. Choisissez Suivant.

Figure 3: Example of creating the role

Figure 3: Exemple de création du rôle

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. Sur la page Ajouter des autorisations, choisissez la stratégie que vous avez créée à l'étape 1 afin que vous puissiez pousser les images vers Amazon ECR. Choisissez Suivant. Sur l'écran suivant, nommez le rôle et choisissez Créer un rôle.

Figure 4: Example of adding policy permissions

Figure 4: Exemple d'ajout d'autorisations de politique

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. Accédez aux paramètres dans votre référentiel GitHub et sous la sécurité dans le volet gauche, choisissez des secrets et des variables. Choisissez l'onglet Actions dans les secrets et variables. Choisissez un nouveau secret de référentiel. Pour le nom, entrez AWS_ROLE_ARN, entrez le rôle AWS du rôle que vous avez créé à l'étape 3 et choisissez Ajouter un secret.

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

Figure 5: Exemple de création de Secret Actions GitHub pour le rôle AWS

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

5. Créez un autre nouveau secret de référentiel pour AWS_Region. Spécifiez la région dans laquelle vous avez créé vos ressources et choisissez Ajouter un secret.

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

Figure 6: Exemple des actions GitHub Secret pour la région AWS

Prepare GitHub Actions workflow

Préparer le flux de travail des actions GitHub

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

Un flux de travail GitHub Actions est un processus automatisé configurable composé d'un ou plusieurs travaux et vous pouvez définir ces travaux dans un fichier YAML. Vous allez créer un fichier YAML dans le répertoire .github / workflows dans votre référentiel GitHub qui définit le flux de travail pour la solution. Le fichier YAML pour votre flux de travail GitHub Actions contient la construction

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Autres articles publiés sur Jul 04, 2025