Skip to content

iam-rayees/AWS_CICD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AWS_CICD

This is a repository for AWS_CICD CICD services of AWS are: AWS Code Commit
AWS Code Pipeline AWS Code Build AWS Deploy

๐‹๐ž๐ญ๐ฌ ๐ฎ๐ง๐๐ž๐ซ๐ฌ๐ญ๐š๐ง๐ ๐œ๐จ๐ฆ๐ฉ๐ฅ๐ž๐ญ๐ž ๐‚๐ˆ๐‚๐ƒ ๐ฉ๐ซ๐จ๐œ๐ž๐ฌ๐ฌ ๐ฎ๐ฌ๐ข๐ง๐  ๐‰๐ž๐ง๐ค๐ข๐ง๐ฌ ๐š๐ฌ ๐จ๐ซ๐œ๐ก๐ž๐ฌ๐ญ๐ซ๐š๐ญ๐จ๐ซ: *)Developer will commit changes to the code in the GIT repository.

*)GitHub is configured with Jenkins with the help of Webhooks. This will trigger the Jenkins pipeline.

*)Jenkins pipeline is a Groovy script written by Devops engineers. This script will implement the Continuous integration and invoke the Continuous delivery.

*)Continuous Integration consists of following steps: a)Checkout b)Build & unit Testing c)Code Scan d)Image Build e)Image Scan f)Image push

*)Now a Days, Continuous delivery is carried out with GitOps approach such as ARGO CD, Flux, Spinnacare etc. Gitops approach performs the Continuous delivery process very smoothly.

*)A separate git repository is maintained for K8s manifests(pod.yam, deployment.yaml, service.yaml etc). Once a new version of Image is pushed to Image Registry(Dockerhub), This new image tag is updated in K8s manifests git repository with the help of Helm Charts. Then this changes are picked by ARGO CD and deploy on the Kubernetes cluster.

๐‹๐ž๐ญ๐ฌ ๐‘๐ž๐ฉ๐ฅ๐ข๐œ๐š๐ญ๐ž ๐ญ๐ก๐ข๐ฌ ๐ฐ๐ข๐ญ๐ก ๐€๐–๐’ ๐‚๐ˆ๐‚๐ƒ ๐ฌ๐ž๐ซ๐ฏ๐ข๐œ๐ž๐ฌ: *)Developer will push changes to code in AWS Code Commit.

*)This will trigger the AWS Code Pipeline. AWS code pipeline will invoke Continuous integration and also invokes Continuous Delivery process.

*)Continuous integration process is implemented with the help of AWS code build service. It consists of following stages: a)Checkout b)Build & unit Testing c)Code Scan d)Image Build e)Image Scan f)Image push

Note: Continuous integration process can also be proceed with the help of Scripts but most common approach followed by organizations is through AWS code build.

*)Then comes the Continuous delivery process which is carried out with the help of AWS Code Deploy service and Deployment will take place on AWS EC2 or AWS ECS or AWS EKS.

๐‰๐ž๐ง๐ค๐ข๐ง๐ฌ ๐ฏ๐ฌ ๐€๐–๐’ ๐‚๐ˆ๐‚๐ƒ ๐ฌ๐ž๐ซ๐ฏ๐ข๐œ๐ž๐ฌ: *)Jenkins is open source. We have the flexibility to use Jenkins pipelines on any cloud. We can configure Jenkins with various tools to enhance its abilities. When organization grows with time, There will be some 100s of Jenkins pipelines which requires huge compute resources

and organisation have to allocate a devops engineer to manage these pipelines.

*)Whereas for AWS CICD services, If company's infrastructure is mostly on AWS cloud platform, It will be more easy to work with CICD services of AWS. Even if the pipelines are increased to 100s of numbers , There is no need of allocating a separate team to manage these pipelines because it will be managed by AWS directly. If organization wants to move to another cloud, then the CICD pipelines scripts written for AWS cannot be used on other cloud platforms. New pipelines has to be written for Azure or GCP cloud platforms.

About

This is a repository for Implementing AWS_CICD Pipeline. AWS services used are AWS codepipeline, AWS codebuild, AWS codepipeline, AWS systems manager, AWS cloudwatch, AWS EC2 , AWS IAM roles. This repo consists of scripts that will take care of executing the pipeline smoothly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors