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

CI/CD on AWS — AWS User Group Bandung Meetup (2...

CI/CD on AWS — AWS User Group Bandung Meetup (2018)

A talk delivered at the AWS User Group Bandung meetup in November 2018, given just before transitioning into the AWS Developer Advocate role, while serving as CTO of 99.co Indonesia (following UrbanIndo.com's acquisition by 99.co). The talk opens with foundational definitions of Continuous Integration, Continuous Delivery, and Continuous Deployment (drawing on Martin Fowler and Jez Humble), distinguishing the manual-approval gate in Continuous Delivery from the fully automated path to production in Continuous Deployment.

It covers 10 CI best practices — including maintaining a single repository, automating builds, fixing broken builds immediately, and testing in a clone of production — and the business case for CI: reducing risk around undeployable software, undiscovered defects, poor project visibility, and low code quality. The second half maps these practices onto AWS's native CI/CD tooling: CodePipeline (modeled around Pipelines, Stages, Transitions, and Actions), CodeBuild, and CodeDeploy, followed by a live demo. The talk closes with the conclusion that CI/CD pays off, AWS has strong native support for it, and teams should start simple and start early.

📚 References include: Continuous Integration: Improving Software Quality and Reducing Risk and Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation.

Avatar for Petra Barus

Petra Barus

June 24, 2026

More Decks by Petra Barus

Other Decks in Technology

Transcript

  1. Who Am I? Petra Novandi Barus - 2011-2018 CTO of

    UrbanIndo.com (acquired by 99.co) - 2018-.. CTO of 99.co Indonesia - Temennya Donnie twitter: @petrabarus
  2. What Is Continuous Integration software development practice where members of

    a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day ~ Martin Fowler
  3. What Is Continuous Delivery the ability to get changes of

    all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. ~Jez Humble
  4. What Is Continuous Deployment a strategy for software releases wherein

    any code commit that passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software's users
  5. CI Best Practices 1. Maintain A Single Repository 2. Automate

    The Build 3. Make The Build Self-Testing 4. Everyone Commits to The Mainline Frequently At Least Everyday 5. Every Commit Should Build The Mainline On Integration Machine 6. Fix Broken Build Immediately 7. Test In Clone of Production Environment 8. Make It Easy for Anyone To Get Latest Deliverables 9. Everyone Can See What Is Happening 10. Automate Deployment
  6. Why Do You Need CI? Reducing Risks 1. Lack of

    Deployable Software a. It works in my machine b. Synchronization with database c. Missing click/steps 2. Lack of Discovery of Defects a. Regression Test b. Test Coverage 3. Lack of Project Visibility a. Improve communication b. Visualize Software 4. Low Quality Software a. Coding Standards b. Duplicate Code
  7. AWS Services For CI/CD Code Pipeline continuous delivery service to

    model, visualize, and automate the steps required to release software. Code Build fully managed build service in the cloud. compiles source code, runs unit tests, and produces artifacts that are ready to deploy Code Deploy service that automates code deployments
  8. AWS CodeBuild 1. Download source code from version control 2.

    Runs tests, build, packaging (war, zip), etc. 3. Custom environment using custom docker image 4. Pay by the minute 5. Integrate with CodePipeline (or as Jenkins slave)
  9. Conclusion - CI/CD is good for us - AWS has

    a lot of support for CI/CD - Start with something simple and start early
  10. References - Continuous Integration: Improving Software Quality and Reducing Risk

    https://www.amazon.com/Continuous-Integration-Improving-Software-Reduci ng/dp/0321336380 - Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation https://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addi son-Wesley/dp/0321601912 - AWS CodeBuild - AWS CodePipeline