SlideShare a Scribd company logo
1 of 41
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Continuous Integration And Deployment
(CI/CD)
with AWS Code Services
Presented By
Pulkit Gupta
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Agenda
• What is CI/CD ? Why to use ?
• What is CI/CD Pipeline ?
• How to automate software build and release process using AWS
code services
• What is AWS CodeCommit & its setup for source control
• How to Build and test code with AWS CodeBuild
• How to Automate CI/CD process with AWS CodePipeline
• Demo, Discussion, Q&A session
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
It is a process where developers frequently merge their
code changes into a central repository, after which
automated build and tests are run.
Developer Code CI server
Automated
Builds
Automated Tests
Continuous Integration
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Developer Code on
Central Repo
CI server
Automated
Tests
Automated
Builds
Release Destination
After CI process , a release is produced which is ready to be deployed on a
destination such as beta or a testing server. Which is called Continuous Delivery.
So the Continuous delivery is regularly releasing your software to a destination.
If continuous delivery process releases a software in production then it is called
Continuous Deployment , because the changes made by developers has now
deployed to customer and are in production.
Continuous Delivery and Deployment
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
What is CI/CD Pipeline
• Sequence of steps a code change goes through.
• Depending on the steps a pipeline can either be CI or CD
Developer Code on
Central Repo
CI server
Automated
Tests
Automated
Builds
Release Destination
CI Pipeline
CD Pipeline
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Why Use CI/CD ?
• Faster Release Cycles
• Lower Costs
• Rapid Troubleshooting
• Reliability
• Higher Quality Products
• Better Business Advantage
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Code Commit
• What is CodeCommit
• Benefits
• How to create & connect new repo in CodeCommit
• CodeCommit access management
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
What is code Commit
• AWS CodeCommit is a version control service, that you can use to
privately store and manage assets in the cloud and integrate with AWS
services.
• AWS CodeCommit eliminates the need for you to manage your own
version control system or worry about scaling its infrastructure
• All you need to do is to create a CodeCommit repo and assign
permissions, and your users can begin committing their code.
• You can use AWS CodeCommit to store anything from code to binaries.
• It supports the standard functionality of Git, so it works seamlessly with
your existing Git-based tools.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Benefits
• Managed Service: CodeCommit is fully managed, distributed, and fault-
tolerant.
• High Availability: Data is replicated across availability zones.
• Store Anything: Not just source code, but documents and binary files,
too. There is no limit to the size of a repo.
• AWS Security: CodeCommit is integrated with AWS IAM. Data is
encrypted at rest.
• Git Compatible: Users can migrate their existing Git repositories.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Code commit access management
• HTTPS git credentials or SSH
• Create users on IAM
• Attach Policies
• Customized Policy for repository
• Generate Git credentials
• Use credentials for HTTPS connections.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Customized Policy for repository
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:GitPull"
],
"Resource": "arn:aws:codecommit:<REGION>:<ACCOUNTNUMBER>:<REPO-NAME>"
},
{
"Effect": "Allow",
"Action": [
"codecommit:Get*",
"codecommit:BatchGetRepositories",
"codecommit:List*"
],
"Resource": "*"
}
]
}
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
CodeCommit Commands
• Create repo:
aws codecommit create-repository --repository-name myapp --repository- description "description“
• Clone repo:
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/myapop
• Create branch
aws codecommit create-branch --repository-name myapp --branch-name newfeature --commit-id
• List all branches
aws codecommit list-branches --repository-name myapp
• Rename repo:
aws codecommit update-repository-name --old-name myapp --new-name MyNewApp
• Getting repository Details
aws codecommit batch-get-repositories --repository-names myapp
• Delete repo
aws codecommit delete-repository --repository-name MyNewApp
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
CodeCommit Pricing
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Demo
• Create a Repo on code Commit
• Create IAM users and connect to repo
• Code commit access management
• CodeCommit CLI commands
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
AWS CodeBuild
• Why Builds ?
• What is CodeBuild ?
• How CodeBuild Works ?
• Planning a build
• Specification file format
• CodeBuild Environment
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Why Builds?
• Every software delivery pipeline has to take source code from a
developer’s laptop and safely ship it to production systems in the
cloud.
• This is best accomplished by “building an artifact” — a snapshot of
the code and everything it needs to run like its dependencies and
compiled binaries.
• Artifacts could be a .zip file, .deb package, AMI or a Docker
image.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Why a Build Service?
If we use build software like Jenkins or Bamboo, someone on our team is
responsible for:
• Setting up a Jenkins cluster
• Maintaining the cluster security
• Upgrading the Jenkins software over time
• Monitoring and recovering from Jenkins downtime
• Capacity planning so the cluster can handle all our build volume
• With a managed build service like Heroku, Docker Hub, and now
CodeBuild, operations are eliminated and costs are greatly reduced to on-
demand usage.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
AWS CodeBuild
• AWS CodeBuild is a fully managed build 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.
• For each build, it launches a fresh, Isolated container-based
environment and terminates it after the build process ends.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
• AWS CodeBuild uses Docker containers to build your code
depending on your environment.
• You can use build environments provided by AWS or existing
Docker images from Docker hub or Elastic Container Registry.
• Currently AWS provides build environments for Java, Android,
Ruby, Go, Node.js, Python, and Docker (to build Docker images).
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
• CodeBuild fetches code from the Source repository. It could be S3 Bucket,
GitHub Repository, or AWS CodeCommit Repository
• Runs the commands in the build spec. You can have a buildspec.yml file in
the source code root directory or you can explicitly write your build
commands.
• The buildspec contains four phases. Install, pre-build, build and post-build.
-> Install – Install packages in the build environment if any.
-> Pre-build – Commands that should run before build if any.
-> Build – Commands to build the artifact.
-> Post-build – Commands to run after the build if any.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
How CodeBuild Works
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Terminologies of CodeBuild
• Source Repository – Location of your source code.
• Build Environment – Your runtime environment.
• IAM Role – Grants CodeBuild permission to access to specific AWS
services and resources.
• Build Spec – Build commands.
• Compute Type – Amount of memory and compute power required.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Planning a Build
• Where is the source code?
• Build commands and their order
• Runtimes , APIs & tools
• Can you use OOTB build environment or you need to plan
for the custom environment ?
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Steps to build code
• Create codecommit repo
• Add project to codecommit
• Update buildspec.yml
• Build project
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Build Specifications
• buildspec.yml defines build commands
• Can be in the application or in codebuild
• Main sections: Version , variables, Phases, Artifacts
• Phases include : pre_build, build , post_build
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Build Specifications
• Version is required
• Environment variable are optional
• phases are required
• artifact is optional to define output
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
version: 0.1
environment_variables:
plaintext:
JAVA_HOME: "/opt/java-8-openjdk-amd64"
phases:
install:
commands:
- apt-get update -y
- apt-get install -y maven
pre_build:
commands:
- echo This is pre_build
build:
commands
- echo Starting build `date`
- mvn clean package
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- target/messageUtil-1.0.jar
discard-paths: yes
Sample buildspec.yml file
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Build Environments
• Preconfigured docker images
• Go,Java, NodeJS, Python,Ruby, Andriod
• Can be extended using buildspec
• Base docker image is available for extension with AWS CLI and git
• you can choose compute power
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
CodeBuild Pricing
• It uses simple pay-as-you-go pricing. There are no upfront costs or
minimum fees.
• You pay only for the resources you use.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
AWS CodeDeploy
It is an AWS service that enables developers to automate the
deployment of applications.
• Automates build deployment
• Can deploy on EC2 & on premises instances
• Scales with environment size
• Stop and rollback features
• Integrate with AWS services
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
AWS CodePipeline
• AWS codePipeline is a continuous delivery services from AWS
• AWS codePipeline builds, test and deploys our source code
consistently and automatically, based on release process models
we define.
• AWS codePipeline helps us to easily build out an end-to-end
solution by using pre-built plugin for popular third party services
like Github etc
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Benefits
AWS CodePipeline has several benefits that align with the DevOps principle of
continuous deployment:
• Rapid delivery
• Improved quality
• Configurable workflow
• Easy to integrate
• Fully Managed
• Scalable
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
How Pipeline works
• AWS CodePipeline manages the release
process via pipelines or workflows.
• Workflows are broken up into stages.
• Each stage is broken up into one or more
actions.
• Transition is the act of continuing from
one stage to another stage in workflow.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Pipeline Structure
• Pipeline is a set of stages
• Each Stage includes set of actions
• Actions categories are source, build ,
deploy , test , Approve etc
• Stages have inputs and output
• Actions could be sequential or parallel
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
CodePipeline Pricing
• There are no upfront fees or commitments. You pay only for what you use.
• $1 per active pipeline per month. Pipelines are free for the first 30 days
after creation.
• An active pipeline is a pipeline that has existed for more than 30 days and
has at least one code change that runs through it during the month.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Demo
• How to create CI/CD Pipeline using
CodeCommit
CodeBuild
CodeDeploy &
CodePipeline.
Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
Thank You

Presented By
Pulkit Gupta

More Related Content

What's hot

CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeRobert Greiner
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSAmazon Web Services
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeWinWire Technologies Inc
 
AWS Control Tower
AWS Control TowerAWS Control Tower
AWS Control TowerCloudHesive
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerAmazon Web Services
 
Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)
Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)
Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)Amazon Web Services
 
Implementing your landing zone - FND210 - AWS re:Inforce 2019
Implementing your landing zone - FND210 - AWS re:Inforce 2019 Implementing your landing zone - FND210 - AWS re:Inforce 2019
Implementing your landing zone - FND210 - AWS re:Inforce 2019 Amazon Web Services
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterAmazon Web Services
 
Building Serverless Web Applications
Building Serverless Web Applications Building Serverless Web Applications
Building Serverless Web Applications Amazon Web Services
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLarry Cai
 

What's hot (20)

CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Introducing Amazon EKS
Introducing Amazon EKSIntroducing Amazon EKS
Introducing Amazon EKS
 
K8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKSK8s on AWS: Introducing Amazon EKS
K8s on AWS: Introducing Amazon EKS
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
 
AWS Control Tower
AWS Control TowerAWS Control Tower
AWS Control Tower
 
Intro to Amazon ECS
Intro to Amazon ECSIntro to Amazon ECS
Intro to Amazon ECS
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control Tower
 
IaC.pptx
IaC.pptxIaC.pptx
IaC.pptx
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
AWS Secrets Manager
AWS Secrets ManagerAWS Secrets Manager
AWS Secrets Manager
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)
Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)
Webinar AWS 201 - Using Amazon Virtual Private Cloud (VPC)
 
Implementing your landing zone - FND210 - AWS re:Inforce 2019
Implementing your landing zone - FND210 - AWS re:Inforce 2019 Implementing your landing zone - FND210 - AWS re:Inforce 2019
Implementing your landing zone - FND210 - AWS re:Inforce 2019
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
Building Serverless Web Applications
Building Serverless Web Applications Building Serverless Web Applications
Building Serverless Web Applications
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
 

Similar to CI/CD with AWS Code Services

Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsAmazon Web Services
 
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...Amazon Web Services
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSatSistemas
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesAmazon Web Services
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...Amazon Web Services
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryAmazon Web Services
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Amazon Web Services
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...Amazon Web Services
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsForgeRock
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...Amazon Web Services
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...Amazon Web Services
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018Bhuvaneswari Subramani
 
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019Bhuvaneswari Subramani
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersCisco DevNet
 

Similar to CI/CD with AWS Code Services (20)

Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
 
Community day _aws_ci_cd_v0.2
Community day _aws_ci_cd_v0.2Community day _aws_ci_cd_v0.2
Community day _aws_ci_cd_v0.2
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed Deployments
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
 
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
 
Meetup callback
Meetup callbackMeetup callback
Meetup callback
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
 

Recently uploaded

High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...Call girls in Ahmedabad High profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 

Recently uploaded (20)

High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 

CI/CD with AWS Code Services

  • 1. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Continuous Integration And Deployment (CI/CD) with AWS Code Services Presented By Pulkit Gupta
  • 2. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Agenda • What is CI/CD ? Why to use ? • What is CI/CD Pipeline ? • How to automate software build and release process using AWS code services • What is AWS CodeCommit & its setup for source control • How to Build and test code with AWS CodeBuild • How to Automate CI/CD process with AWS CodePipeline • Demo, Discussion, Q&A session
  • 3. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights It is a process where developers frequently merge their code changes into a central repository, after which automated build and tests are run. Developer Code CI server Automated Builds Automated Tests Continuous Integration
  • 4. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Developer Code on Central Repo CI server Automated Tests Automated Builds Release Destination After CI process , a release is produced which is ready to be deployed on a destination such as beta or a testing server. Which is called Continuous Delivery. So the Continuous delivery is regularly releasing your software to a destination. If continuous delivery process releases a software in production then it is called Continuous Deployment , because the changes made by developers has now deployed to customer and are in production. Continuous Delivery and Deployment
  • 5. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights What is CI/CD Pipeline • Sequence of steps a code change goes through. • Depending on the steps a pipeline can either be CI or CD Developer Code on Central Repo CI server Automated Tests Automated Builds Release Destination CI Pipeline CD Pipeline
  • 6. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
  • 7. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
  • 8. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Why Use CI/CD ? • Faster Release Cycles • Lower Costs • Rapid Troubleshooting • Reliability • Higher Quality Products • Better Business Advantage
  • 9. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Code Commit • What is CodeCommit • Benefits • How to create & connect new repo in CodeCommit • CodeCommit access management
  • 10. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights What is code Commit • AWS CodeCommit is a version control service, that you can use to privately store and manage assets in the cloud and integrate with AWS services. • AWS CodeCommit eliminates the need for you to manage your own version control system or worry about scaling its infrastructure • All you need to do is to create a CodeCommit repo and assign permissions, and your users can begin committing their code. • You can use AWS CodeCommit to store anything from code to binaries. • It supports the standard functionality of Git, so it works seamlessly with your existing Git-based tools.
  • 11. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Benefits • Managed Service: CodeCommit is fully managed, distributed, and fault- tolerant. • High Availability: Data is replicated across availability zones. • Store Anything: Not just source code, but documents and binary files, too. There is no limit to the size of a repo. • AWS Security: CodeCommit is integrated with AWS IAM. Data is encrypted at rest. • Git Compatible: Users can migrate their existing Git repositories.
  • 12. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Code commit access management • HTTPS git credentials or SSH • Create users on IAM • Attach Policies • Customized Policy for repository • Generate Git credentials • Use credentials for HTTPS connections.
  • 13. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Customized Policy for repository { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "arn:aws:codecommit:<REGION>:<ACCOUNTNUMBER>:<REPO-NAME>" }, { "Effect": "Allow", "Action": [ "codecommit:Get*", "codecommit:BatchGetRepositories", "codecommit:List*" ], "Resource": "*" } ] }
  • 14. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights CodeCommit Commands • Create repo: aws codecommit create-repository --repository-name myapp --repository- description "description“ • Clone repo: git clone https://git-codecommit.us-east-1.amazonaws.com/v1/myapop • Create branch aws codecommit create-branch --repository-name myapp --branch-name newfeature --commit-id • List all branches aws codecommit list-branches --repository-name myapp • Rename repo: aws codecommit update-repository-name --old-name myapp --new-name MyNewApp • Getting repository Details aws codecommit batch-get-repositories --repository-names myapp • Delete repo aws codecommit delete-repository --repository-name MyNewApp
  • 15. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights CodeCommit Pricing
  • 16. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Demo • Create a Repo on code Commit • Create IAM users and connect to repo • Code commit access management • CodeCommit CLI commands
  • 17. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights AWS CodeBuild • Why Builds ? • What is CodeBuild ? • How CodeBuild Works ? • Planning a build • Specification file format • CodeBuild Environment
  • 18. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Why Builds? • Every software delivery pipeline has to take source code from a developer’s laptop and safely ship it to production systems in the cloud. • This is best accomplished by “building an artifact” — a snapshot of the code and everything it needs to run like its dependencies and compiled binaries. • Artifacts could be a .zip file, .deb package, AMI or a Docker image.
  • 19. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Why a Build Service? If we use build software like Jenkins or Bamboo, someone on our team is responsible for: • Setting up a Jenkins cluster • Maintaining the cluster security • Upgrading the Jenkins software over time • Monitoring and recovering from Jenkins downtime • Capacity planning so the cluster can handle all our build volume • With a managed build service like Heroku, Docker Hub, and now CodeBuild, operations are eliminated and costs are greatly reduced to on- demand usage.
  • 20. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights AWS CodeBuild • AWS CodeBuild is a fully managed build 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. • For each build, it launches a fresh, Isolated container-based environment and terminates it after the build process ends.
  • 21. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights • AWS CodeBuild uses Docker containers to build your code depending on your environment. • You can use build environments provided by AWS or existing Docker images from Docker hub or Elastic Container Registry. • Currently AWS provides build environments for Java, Android, Ruby, Go, Node.js, Python, and Docker (to build Docker images).
  • 22. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights • CodeBuild fetches code from the Source repository. It could be S3 Bucket, GitHub Repository, or AWS CodeCommit Repository • Runs the commands in the build spec. You can have a buildspec.yml file in the source code root directory or you can explicitly write your build commands. • The buildspec contains four phases. Install, pre-build, build and post-build. -> Install – Install packages in the build environment if any. -> Pre-build – Commands that should run before build if any. -> Build – Commands to build the artifact. -> Post-build – Commands to run after the build if any.
  • 23. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights How CodeBuild Works
  • 24. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Terminologies of CodeBuild • Source Repository – Location of your source code. • Build Environment – Your runtime environment. • IAM Role – Grants CodeBuild permission to access to specific AWS services and resources. • Build Spec – Build commands. • Compute Type – Amount of memory and compute power required.
  • 25. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Planning a Build • Where is the source code? • Build commands and their order • Runtimes , APIs & tools • Can you use OOTB build environment or you need to plan for the custom environment ?
  • 26. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Steps to build code • Create codecommit repo • Add project to codecommit • Update buildspec.yml • Build project
  • 27. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Build Specifications • buildspec.yml defines build commands • Can be in the application or in codebuild • Main sections: Version , variables, Phases, Artifacts • Phases include : pre_build, build , post_build
  • 28. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Build Specifications • Version is required • Environment variable are optional • phases are required • artifact is optional to define output
  • 29. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 version: 0.1 environment_variables: plaintext: JAVA_HOME: "/opt/java-8-openjdk-amd64" phases: install: commands: - apt-get update -y - apt-get install -y maven pre_build: commands: - echo This is pre_build build: commands - echo Starting build `date` - mvn clean package post_build: commands: - echo Build completed on `date` artifacts: files: - target/messageUtil-1.0.jar discard-paths: yes Sample buildspec.yml file
  • 30. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Build Environments • Preconfigured docker images • Go,Java, NodeJS, Python,Ruby, Andriod • Can be extended using buildspec • Base docker image is available for extension with AWS CLI and git • you can choose compute power
  • 31. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights CodeBuild Pricing • It uses simple pay-as-you-go pricing. There are no upfront costs or minimum fees. • You pay only for the resources you use.
  • 32. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights AWS CodeDeploy It is an AWS service that enables developers to automate the deployment of applications. • Automates build deployment • Can deploy on EC2 & on premises instances • Scales with environment size • Stop and rollback features • Integrate with AWS services
  • 33. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights AWS CodePipeline • AWS codePipeline is a continuous delivery services from AWS • AWS codePipeline builds, test and deploys our source code consistently and automatically, based on release process models we define. • AWS codePipeline helps us to easily build out an end-to-end solution by using pre-built plugin for popular third party services like Github etc
  • 34. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
  • 35. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights
  • 36. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Benefits AWS CodePipeline has several benefits that align with the DevOps principle of continuous deployment: • Rapid delivery • Improved quality • Configurable workflow • Easy to integrate • Fully Managed • Scalable
  • 37. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights How Pipeline works • AWS CodePipeline manages the release process via pipelines or workflows. • Workflows are broken up into stages. • Each stage is broken up into one or more actions. • Transition is the act of continuing from one stage to another stage in workflow.
  • 38. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Pipeline Structure • Pipeline is a set of stages • Each Stage includes set of actions • Actions categories are source, build , deploy , test , Approve etc • Stages have inputs and output • Actions could be sequential or parallel
  • 39. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights CodePipeline Pricing • There are no upfront fees or commitments. You pay only for what you use. • $1 per active pipeline per month. Pipelines are free for the first 30 days after creation. • An active pipeline is a pipeline that has existed for more than 30 days and has at least one code change that runs through it during the month.
  • 40. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Demo • How to create CI/CD Pipeline using CodeCommit CodeBuild CodeDeploy & CodePipeline.
  • 41. Copyright © 2016 Talentica Software (I) Pvt Ltd. All rightsCopyright © 2016 Talentica Software (I) Pvt Ltd. All rights Thank You  Presented By Pulkit Gupta

Editor's Notes

  1. Here is a nice way to visualise it.