AWS Lambda CI/CD avec GitHub Actions / Blogs / Perficient

Introduction:
L’intégration des actions GitHub pour l’intégration continue et le déploiement continu (CI/CD) dans les déploiements AWS Lambda est une approche moderne pour automatiser le cycle de vie du développement logiciel. GitHub Actions fournit une plate-forme pour automatiser les flux de travail directement à partir de votre référentiel GitHub, ce qui en fait un outil puissant pour gérer les fonctions AWS Lambda.
Comprendre les actions GitHub CI/CD à l’aide de Lambda
L’intégration de GitHub Actions pour CI/CD avec AWS Lambda rationalise le processus de déploiement, améliore la qualité du code et réduit le temps entre le développement et la production. En automatisant les tests et le déploiement des fonctions Lambda, les équipes peuvent se concentrer sur la création de fonctionnalités et l’amélioration de l’application plutôt que sur la gestion de l’infrastructure et de la logistique de déploiement. Cette intégration est essentielle aux pratiques DevOps modernes, favorisant l’agilité et l’efficacité du développement logiciel.
Prérequis :
- Compte et référentiel GitHub :
- Compte AWS :
- Informations d’identification AWS IAM :
DÉMO :
Tout d’abord, nous allons créer une structure de dossiers comme ci-dessous et l’ouvrir dans Visual Studio.
Après cela, ouvrez AWS Lambda et créez une fonction à l’aide de Python avec les paramètres par défaut. Une fois créé, nous verrons le script Python par défaut. Assurez-vous que le nom du fichier dans AWS Lambda correspond à celui que nous avons créé sous le src dossier.
Maintenant, nous allons créer un dépôt GitHub avec le même nom que notre dossier, ApprendreLambdaCICD. Une fois créé, il nous demandera de configurer le référentiel. Nous suivrons les étapes mentionnées dans la section GitHub Repository pour initialiser et synchroniser le référentiel.
Ensuite, créez un dossier nommé .github/workflows sous le dossier principal. À l’intérieur du flux de travail dossier, créez un fichier nommé déployer_cicd.yaml avec le script suivant.
Conformément à ce YAML, nous devons configurer le AWS_DEFAULT_REGION selon la région que nous utilisons. Dans notre cas, nous utilisons ap-sud-1. Nous aurons également besoin du numéro ARN de la page AWS Lambda et nous utiliserons cette même valeur dans notre fichier YAML.
Nous devons ensuite configurer le AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY. Pour ce faire, accédez au rôle AWS IAM et créez une nouvelle clé d’accès.
Une fois créé, nous utiliserons la même clé d’accès et la même clé d’accès secrète dans notre fichier YAML. Ensuite, nous mapperons ces clés d’accès dans notre référentiel GitHub en accédant à Paramètres > Secrets et variables > Actes et configuration des clés.
Mises à jour :
Nous mettrons à jour le code par défaut dans le lambda_function.py fichier dans Visual Studio. De cette façon, une fois le pipeline construit avec succès, nous pouvons également voir les changements dans AWS Lambda. Cela a modifié le fichier comme indiqué ci-dessous :
Notre prochaine étape consistera à pousser le code vers le référentiel Git à l’aide des commandes suivantes :
- Git ajouter .
- Git commit -m « Dernier commit »
- Git pousser
Une fois la poussée réussie, accédez à Actions GitHub depuis votre référentiel. Vous verrez le pipeline se déployer et finalement se terminer, comme indiqué ci-dessous. Nous pouvons examiner plus en détail le processus de déploiement en élargissant la déployer section. Cela nous permettra d’observer les étapes survenues lors du déploiement.
Désormais, lorsque nous naviguons vers AWS Lambda pour vérifier le code, nous pouvons voir que les modifications que nous avons déployées ont été appliquées.
Nous pouvons également voir les changements de répertoire dans le volet gauche d’AWS Lambda.
Conclusion:
Comme nous pouvons le constater, l’intégration de GitHub Actions pour CI/CD avec AWS Lambda automatise et rationalise le processus de déploiement, permettant aux développeurs de se concentrer sur la création de fonctionnalités plutôt que sur la gestion des déploiements. Cette intégration améliore l’efficacité et la fiabilité, garantissant des mises à jour rapides et cohérentes des applications sans serveur. En tirant parti des puissants flux de travail de GitHub et de l’évolutivité d’AWS Lambda, les équipes peuvent mettre en œuvre efficacement des pratiques DevOps modernes, ce qui se traduit par une livraison de logiciels plus rapide et plus agile.
Source link