Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CICD in Action

CICD in Action

Avatar for Fatema AlMannaei

Fatema AlMannaei

September 25, 2020

More Decks by Fatema AlMannaei

Other Decks in Technology

Transcript

  1. COMMUNITY DAY MENA Agenda What is DevOps ? Deployment Journey

    Stages AWS Services: AWS CodeCommit, CodeBuild, CodeDeploy, CodePipleine Demos/Labs What’s more ? So what is CI/CD ? References QA
  2. COMMUNITY DAY MENA And that is .. • Automation •

    Infrastructure as a Code • CI/CD • Logging • Communication DevOps
  3. COMMUNITY DAY MENA Source Code Git • Version control •

    Track history • Supports collaboration • Distributed development Git repositories hosting services • Github • AWS CodeCommit • GitLab • Bitbucket • SourceForge
  4. COMMUNITY DAY MENA Source Code AWS CodeCommit • Fully managed

    • Secure • High availability • Collaborate on code • Faster development lifecycle • Git-based repositories • Notifications and Custom Scripts • Access Control
  5. COMMUNITY DAY MENA Source Code AWS CodeCommit • AWS CloudFormation

    • AWS CloudTrail • AWS CloudWatch Events • AWS CodeBuild • Amazon CodeGuru Reviewer • AWS CodePipeline • AWS Elastic Beanstalk • AWS Key Management Service • SonarQube • GitFlow • Appium • Jenkins • EGit tools in Eclipse • Review Board • AWS CodeStar • AWS Lambda • Amazon SNS • AWS SSO • AWS IAM • AWS Amplify • AWS Cloud9 Integrations: What else ? Non-AWS: https://docs.aws.amazon.com/codecommit/latest/userguide/integrations.html
  6. COMMUNITY DAY MENA Source Code Build Test And .. ✓

    Automated test ✓ Unit tests ✓ Integration tests
  7. • Secure • Preconfigured build environments • Customize build environments

    • Configurable settings • Receive Notifications COMMUNITY DAY MENA Source Code Build Test AWS CodeBuild • Fully managed • Continuous scaling • Pay as you go • Extensible • Build and test your code
  8. https://docs.aws.amazon.com/codebuild/latest/userguide/samples.html COMMUNITY DAY MENA Source Code Build Test AWS CodeBuild

    • Containers images • Amazon ECR • Docker • Amazon EFS • Apache maven • Gradle • Amazon S3 Furthermore, • Built-in build environment • Android • Java • .NET • GO • Node JS • PHP • Python • Ruby • Custom build environment
  9. COMMUNITY DAY MENA Source Code Build Test Continuous Integration (CI)

    And this is Continuous Integration (CI) is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration can then be verified by an automated build and automated tests. While automated testing is not strictly part of CI it is typically implied. “ “
  10. • Easy to adopt • Language & architecture agnostic •

    Tool chain integration • Minimize downtime • Rolling and Blue/Green updates • Deployment health tracking • Stop & rollback • Receive Notifications COMMUNITY DAY MENA Source Code Build Test Deploy AWS CodeDeploy • Fully managed • Automated deployments • Repeatable deployments • Automatic scaling • On-premise deployments • Centralized control • Monitoring and control • Deployment groups • Deployment history
  11. COMMUNITY DAY MENA Source Code Build Test Deploy AWS CodeDeploy

    • Amazon CloudWatch • Amazon EC2 Auto Scaling • Amazon ECS • AWS CloudTrail • AWS Cloud9 • AWS SAM • AWS ELB • AWS Key Management Service • Ansible • Atlassian – Bamboo & Bitbucket • Chef • CircleCI • CloudBees • Codeship • Github • HashiCorp Consul • SlatStack • Solano Labs • TeamCity • Travis CI Integrations: What’s more ? Non-AWS: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations.html
  12. COMMUNITY DAY MENA Source Code Build Test Deploy Continuous Deployment/Delivery

    (CD) And that is With continuous delivery, every code change is built, tested, and then pushed to a non-production testing or staging environment. There can be multiple, parallel test stages before a production deployment. The difference between continuous delivery and continuous deployment is the presence of a manual approval to update to production. With continuous deployment, production happens automatically without explicit approval. “ “
  13. COMMUNITY DAY MENA Source Code Build Test Deploy Continuous Deployment/Delivery

    (CD) And that is Continuous Deployment Continuous Delivery
  14. COMMUNITY DAY MENA Source Code Build Test Deploy AWS CodePipleline

    • Fully managed • Easy to integrate • Configurable workflow • AWS integrations • Declarative templates • Access Control • Receive Notifications • Pre-built plugins • Custom plugins
  15. COMMUNITY DAY MENA Source Code Build Test Deploy AWS CodePipleline

    • Amazon ECR • Amazon S3 • Bitbucket • CodeCommit • Github Source: What’s more ? https://docs.aws.amazon.com/codepipeline/latest/userguide/integrations.html • AWS CodeBuild • CloudBees • Jenkins • TeamCity Build: • AWS CodeBuild • AWS Device Farm • BlazeMeter • Ghost Inspector • Micro Focus StormRunner • Nouvola • Runscope Test: • Amazon S3 • AWS AppConfig • AWS CloudFormation • Amazon ECS • Elastic Beanstalk • AWS OpsWorks • AWS Service Catalog • Amazon Alex • XebiaLabs Deploy: • Amazon SNS Approval: • AWS Lambda • AWS Step Functions Invoke: