Posts Tagged ‘AWS CodePipeline’

DevOps with AWS

Posted on February 23rd, 2021 by admin@mismo2023

What is CI CD?

Continuous Integration

Developers work on the code which is stored in a code repository.  Code repository can be GitHub, AWS CodeCommit etc. As developers keep making changes to the code and push to the code repository, a build server builds the code and runs the tests. Build Server can be AWS CodeBuild, Jenkins etc.

This process is called continuous integration. Developers focus on developing code and not building and running tests. It helps to identify and fix bugs faster and have code available for frequent releases.

Continuous Delivery and Deployment

With Continuous integration, you have automated the code build and testing. The next step is to deploy the code. For this, you can use a deployment server which can be AWS CodeDeploy, Jenkins etc. The deployment server will take the code from the build server and push the code to the test/prod environment.

With Continuous delivery, you will have a manual step to approve the deployment. The deployment will be automated and repeatable. With Continuous deployment, no manual steps are required, and deployment will be fully automated.

In practical scenarios, continuous deployment can be used to push the deployment to test & UAT servers while manual approval can be used for production deployment.

Also Read:- Breakout Rooms and Its Usage – Microsoft Teams

AWS Technology Stack for CI CD

Code Commit can be used as a private code repository for version control for collaboration, backup and audit. It includes all the benefits of AWS i.e., Scale, Security, Compliance and integration with other services including AWS Code Build, Jenkins etc. You can use GIT to integrate your local repository with the Code Commit repository. You can configure role-based access, notifications and triggers. For e.g. You can configure a trigger to execute a lambda function for automation.

Code Build A fully managed build service can be an alternative to tools like Jenkins. It has all the benefits of a managed service i.e., scale, security and no maintenance overhead and power of integration with services like Cloud Watch for notifications & alerts and Lambda for automation. It uses Docker containers under the hood (you can use your own docker image as well), is serverless and pure Pay as You Go (PAYG).

Code Deploy managed service by AWS is to deploy code on EC2 instances or on-premises machines. Code deploy can be used instead of tools like terraform, ansible etc. if it meets your requirement of continuous deployment. You can group the environment such as prod, dev etc. Code deploy will not provide resources for you. Code deploy agent will be running on the server/EC2 instance and will perform the deployment.

Code Pipeline to orchestrate the whole deployment. It supports code repositories such as GitHub, Code Commit, build tools such as Code Build, Jenkins, deployment tools such as Code Deploy, Terraform, and load testing tools. It creates artefacts for each stage.

All these services can easily use powerful management and monitoring tools like CloudWatch for logging and monitoring.

AWS CodePipeline

Posted on November 4th, 2020 by admin@mismo2023

AWS CodePipeline is an Amazon Web Services tool that automates the app deployment process, enabling the developer to easily create, design, and execute software for new functionality and upgrades. The approach is known as continuous distribution.

AWS CodePipeline dynamically builds, checks, and launches the program any time the specification is changed; the developer uses a virtual user interface to model workflow settings for the release phase in the pipeline. AWS CodePipeline incorporates a range of Amazon services. It also facilitates tailored programs and activities via the AWS command-line interface.

The development team could define and execute actions, or a set of actions called a level. The developer should decide which CodePipeline testing should run and the pre-production environments it will run. The software will then run these activities into a concurrent execution cycle, in which several processors perform computational functions concurrently to optimize workflows. It takes source code from Amazon Simple Storage Service and deploys it on both AWS CodeDeploy and AWS Elastic Beanstalk. Developers can also add AWS Lambda functions or third-party DevOps platforms, such as GitHub or Jenkins.

All custom acts include creating, deploying, checking, and invoking, which promote special release processes. The developer will set up a worker to test the CodePipeline for job demands, then execute the task and return the status response.

The administrator gives access to AWS CodePipeline by AWS Identity and Access Management (IAM). IAM Roles Monitor which end-users may make improvements or changes to the release process of the program.