CodeCommit et CodeBuild
Intégrez AWS CodeCommit pour le contrôle du code source et AWS CodeBuild pour compiler et empaqueter votre code sans serveur.
CodeCommit et CodeBuild est une leçon Serverless Backend with AWS Lambda & API Gateway gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Serverless Backend with AWS Lambda & API Gateway, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Serverless Backend with AWS Lambda & API Gateway comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
CI/CD for Serverless Intro
Welcome to the first lesson in our CI/CD for Serverless Applications course! Continuous Integration and Continuous Delivery (CI/CD) are crucial for modern software development.
In this lesson, we'll dive into two foundational AWS services: AWS CodeCommit for source control and AWS CodeBuild for compiling and packaging your serverless code.
What is AWS CodeCommit?
AWS CodeCommit is a fully managed source control service that hosts secure Git-based repositories. Think of it as AWS's version of GitHub or GitLab, but tightly integrated with other AWS services.
- It's private: Your code stays within AWS.
- It's scalable: Handles projects of any size.
- It's Git-compatible: Use your existing Git tools and workflows.
It acts as the central hub for your application's source code.
Setting Up CodeCommit Repo
To start using CodeCommit, you first need to create a repository. You can do this via the AWS Management Console, AWS CLI, or SDKs.
Once created, you'll configure your local Git client to connect to it. This often involves setting up IAM credentials (HTTPS Git credentials) or SSH keys for authentication.
Cloning & Pushing Code
After setting up your credentials, you can clone your CodeCommit repository to your local machine and push changes just like any other Git repository.
Here's a basic sequence of commands you'd use:
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyServerlessRepo
cd MyServerlessRepo
echo "print('Hello CI/CD!')" > app.py
git add app.py
git commit -m "Initial commit for Lambda function"
git push origin mainWhat is AWS CodeBuild?
AWS CodeBuild is a fully managed continuous integration service that compiles your source code, runs tests, and produces deployable software packages. It eliminates the need to provision, manage, and scale your own build servers.
- No servers to manage: AWS handles the infrastructure.
- Scales automatically: Builds run in parallel and scale as needed.
- Pay-as-you-go: You only pay for the compute time used.
The Buildspec File
The core of a CodeBuild project is the buildspec.yml file. This YAML file defines the commands and actions CodeBuild performs during a build.
It specifies build commands, artifact (output) definitions, and caching instructions. It's placed at the root of your source repository.
Anatomy of a Buildspec
A buildspec.yml is organized into phases:
- install: Install dependencies.
- pre_build: Commands before build (e.g., login to Docker).
- build: Actual build commands (e.g., compile code, run tests).
- post_build: Commands after build (e.g., package artifacts).
Here's a simple example for a Python Lambda function:
version: 0.2
phases:
install:
commands:
- echo "Installing dependencies..."
- pip install --upgrade pip
- pip install -r requirements.txt -t package/
build:
commands:
- echo "Zipping deployment package..."
- cd package
- zip -r ../function.zip .
- cd ..
- zip -g function.zip app.py
artifacts:
files:
- function.zip
discard-paths: yesCreating a CodeBuild Project
To use CodeBuild, you create a build project. This involves:
- Source: Pointing to your source code repository (e.g., CodeCommit).
- Environment: Selecting an operating system, runtime, and compute type.
- Buildspec: Specifying the
buildspec.ymlfile. - Artifacts: Defining where to store build outputs (e.g., S3 bucket).
You'll also assign an IAM role to CodeBuild, granting it permissions to access your source, S3, and other necessary AWS services.
CodeCommit & CodeBuild Flow
The typical workflow for continuous integration using these services is:
- Developer pushes code changes to an AWS CodeCommit repository.
- CodeCommit can trigger an AWS CodeBuild project automatically (often via CodePipeline, which we'll cover next).
- CodeBuild fetches the latest code, executes the commands in
buildspec.yml. - CodeBuild produces artifacts (like a zipped Lambda function) and stores them in an S3 bucket, ready for deployment.
Quick Check
You've just learned about CodeCommit and CodeBuild. Let's test your understanding!
Recap & Next Steps
Great job! In this lesson, you learned about:
- AWS CodeCommit: A managed Git repository service for secure source control.
- AWS CodeBuild: A fully managed continuous integration service that compiles and packages your code.
- The importance of the
buildspec.ymlfile for defining build steps.
These two services form the backbone of your serverless CI/CD pipeline. Next, we'll see how AWS CodePipeline orchestrates these services for automated deployments!
Questions Fréquemment Posées
La leçon « CodeCommit et CodeBuild » est-elle gratuite ?
Oui — le texte complet de « CodeCommit et CodeBuild » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Serverless Backend with AWS Lambda & API Gateway, passe à CoddyKit PRO. Le cours Serverless Backend with AWS Lambda & API Gateway comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « CodeCommit et CodeBuild » ?
Intégrez AWS CodeCommit pour le contrôle du code source et AWS CodeBuild pour compiler et empaqueter votre code sans serveur. Tu pratiques Serverless Backend with AWS Lambda & API Gateway avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Serverless Backend with AWS Lambda & API Gateway ?
Aucune expérience préalable n'est requise. Serverless Backend with AWS Lambda & API Gateway sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « CodeCommit et CodeBuild » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Serverless Backend with AWS Lambda & API Gateway ?
Oui. Chaque leçon Serverless Backend with AWS Lambda & API Gateway inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- CodeCommit et CodeBuild
- CodePipeline pour les déploiements
- Automatiser les déploiements sans serveur
- Déploiements sûrs avec déploiement canari et restauration