0% found this document useful (0 votes)
22 views

Pull Request Continuous Integration Ra

This document describes a continuous integration pipeline for Git pull requests. The pipeline is triggered when a pull request is created or updated on a supported Git provider like GitHub. It then builds and tests the code, deploys it to a preview environment, and runs integration and end-to-end tests. Finally, it updates the pull request with the test results.

Uploaded by

Shubham Agrawal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Pull Request Continuous Integration Ra

This document describes a continuous integration pipeline for Git pull requests. The pipeline is triggered when a pull request is created or updated on a supported Git provider like GitHub. It then builds and tests the code, deploys it to a preview environment, and runs integration and end-to-end tests. Finally, it updates the pull request with the test results.

Uploaded by

Shubham Agrawal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Continuous Integration for Pull Requests 1

Webhooks are configured between supported


Git providers such as GitHub/Bitbucket and
AWS CodeBuild. The Git provider sends
Build a Continuous Integration (CI) Pipeline for Git Pull Requests events whenever a PR is created or updated.
Run CI at pull request (PR) time to move from validating a build to validating a whole environment before merging to In the case of AWS CodeCommit, it’s set up to
mainline. This approach allows developers to get higher quality feedback earlier, speed up PR reviews (now enriched by CI trigger a Lambda function on those events,
outcomes), and minimize impacts of broken builds to development teams. which in turn kicks off the build within AWS
CodeBuild.

supported Git providers 2


AWS CodeBuild accepts Git PR events and
compresses the PR codebase in an archive.
Bitbucket GitHub This archive is stored in the Git Artifacts
Amazon S3 bucket; AWS CodeBuild posts a
message on an Amazon Simple Queue Service
(Amazon SQS) queue about a fresh codebase
ready to be processed.
AWS Cloud 1
An AWS Lambda function polling the Amazon
3 SQS queue consumes the message. The
1 4
Lambda function starts the CI process and
AWS Lambda AWS CodeCommit moves the new codebase to the Pipeline
Git artifacts Source Amazon S3 bucket location. This S3
bucket acts as the source of AWS
2 2 CodePipeline. The Lambda function also
checks any automation prerequisite, like
AWS CodeBuild Amazon S3 status of third-party resources or
environments consumed by CI, and removes
Pipeline source obsolete codebase from the backlog if
updates are submitted against a PR.
3 3
AWS CodePipeline orchestrates CI workflow
4 for the specific project under development by
Amazon SQS AWS Lambda Amazon S3 statically validating the codebase, running
unit tests, building artifacts, creating a
preview environment where the application is
4 deployed, and executing integration and end-
to-end (E2E) tests. Amazon EventBridge
AWS CodePipeline Amazon EventBridge AWS Lambda monitors the changes in pipeline stages; a
Lambda function updates the PR based on
status of events generated by AWS
Reviewed for technical accuracy July 14, 2022 CodePipeline (success, in progress, failed,
© 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Reference Architecture completed).

You might also like