Sei sulla pagina 1di 2

Continuous Deployment to Kubernetes of Aequor AI Development center

Devops Tools Used: -

1) AWS CodeCommit is a fully-managed source control service that hosts secure Git-based
repositories. It makes it easy for teams to collaborate on code in a secure and highly scalable
ecosystem. CodeCommit eliminates the need to operate your own source control system or
worry about scaling its infrastructure.
2)AWS CodeBuild is a fully managed continuous integration service that compiles
source code, runs tests, and produces software packages that are ready to deploy.
With CodeBuild, you don't need to provision, manage, and scale your own build servers.
3) Kubernetes is a container orchestration system for Docker containers that is more extensive
than Docker Swarm and is meant to coordinate clusters of nodes at scale in production in an
efficient manner
4) Amazon Elastic Container Registry (ECR) is a fully-managed Docker container registry that
makes it easy for developers to store, manage, and deploy Docker container images. Amazon
ECR is integrated with Amazon Elastic Container Service (ECS), simplifying your development
to production workflow.
5) AWS CodePipeline is a fully managed continuous delivery service that helps you automate your
release pipelines for fast and reliable application and infrastructure updates. ... You can easily
integrate AWS CodePipeline with third-party services such as GitHub or with your own custom plugin.

6) AWS Lambda lets you run code without provisioning or managing servers. You pay only for the
compute time you consume.

Workflow

Developers commit code to an AWS CodeCommit repository and create pull requests to review
proposed changes to the production code. When the pull request is merged into the master branch in
the AWS CodeCommit repository, AWS CodePipeline automatically detects the changes to the branch
and starts processing the code changes through the pipeline.

1. AWS CodeBuild packages the code changes as well as any dependencies and builds a Docker
image. Optionally, another pipeline stage tests the code and the package, also using AWS
CodeBuild.
2. The Docker image is pushed to Amazon ECR after a successful build and/or test stage.
3. AWS CodePipeline invokes an AWS Lambda function that includes the Kubernetes Python client
as part of the function’s resources. The Lambda function performs a string replacement on the
tag used for the Docker image in the Kubernetes deployment file to match the Docker image tag
applied in the build, one that matches the image in Amazon ECR.
4. After the deployment manifest update is completed, AWS Lambda invokes the Kubernetes API
to update the image in the Kubernetes application deployment.
5. Kubernetes performs a rolling update of the pods in the application deployment to match the
docker image specified in Amazon ECR.
The pipeline is now live and responds to changes to the master branch of the CodeCommit
repository. This pipeline is also fully extensible, you can add steps for performing testing or
adding a step to deploy into a staging environment before the code ships into the production
cluster.

Potrebbero piacerti anche