Elevate Your DevOps Pipeline with Generative AI
Unleash the power of our AI-driven DevOps solution to streamline your workflows, boost productivity, and transform your IT landscape.
Streamline Your Development Workflow
PR Content Generation
Automatically generate informative and actionable pull request content using AI-driven GitHub Actions.
Automated Code Review
Perform AI-driven code reviews to identify issues, suggest improvements, and ensure consistent best practices.
Unit Test Generation
Automatically generate unit tests to improve code quality and reduce the burden on developers.
Issue Operation
Interact with issues directly through PR comments, enabling AI-assisted repository analysis and code generation.
Legacy vs Innovative
Development Workflow Enhancement
Traditional Approach
- •Manual PR content creation
- •Time-intensive code reviews
- •Inconsistent review quality
- •Risk of oversight in complex changes
AWS GenAI CI/CD Suite Approach
- •AI-powered PR descriptions
- •Automated, comprehensive code analysis
- •Consistent, high-quality feedback
- •Advanced issue detection and resolution
Quality Assurance and Issue Management
Traditional Approach
- •Manual unit test development
- •Limited test coverage
- •Resource-intensive test maintenance
- •Reactive issue management
AWS GenAI CI/CD Suite Approach
- •AI-generated unit tests
- •Comprehensive test coverage
- •Efficient test suite maintenance
- •Proactive, AI-assisted issue resolution
Quick Start
1. Configuring IAM to trust GitHub
To use GitHub's OIDC provider, you must first set up federation with the provider as an IAM IdP. Here's a CloudFormation template that will create a role with trust relationship to GitHub OIDC provider, and add the permissions to invoke the Bedrock API:
2. Setting up the GitHub Actions
Here's a complete workflow sample that includes configuring AWS credentials and using the AWS GenAI CI/CD Suite GitHub Action. Go to your repo -> Settings -> Secrets and variables -> Actions -> New repository secret, then add the secret name as e.g. AWS_ROLE_TO_ASSUME, and the value as the role arn, e.g. arn:aws:iam::123456789012:role/role-name created in the previous step, then reference it in the workflow as {{ secrets.AWS_ROLE_TO_ASSUME }}
After the GitHub action is set up, you can trigger the workflow by pushing a new commit or opening a new pull request. The sample workflow will generate a PR description, provide inline code review, and generate unit test code.
Further Explore
1. Customize Your Own (Optional)
If you want to customize the AWS GenAI CI/CD Suite GitHub Action, you can clone the repository and publish your own release:
Make sure to replace "your-username" with your actual GitHub username and adjust the version number as needed.
2. Starting the GitHub App Server
Before interacting with the GitHub App, you need to start the server that handles user requests:
This will start the server locally. For a more stable user experience, consider hosting the code as a container or daemon process in a separate infrastructure.
3. Interacting with GitHub App (Note this feature is still under development with limited functionality)
Once the server is running, you can interact with the GitHub App by commenting on pull requests. Here are some example commands:
- @IBTBot generate interesting stats about this repository and render them as a table.
- @IBTBot show all the console.log statements in this repository.
- @IBTBot generate unit testing code for this file.
- @IBTBot read src/utils.ts and generate unit testing code.
- @IBTBot read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
- @IBTBot modularize this function.
Note: Ensure that your GitHub App is properly configured and has the necessary permissions to interact with your repository.
Frequently Asked Questions
How do I set up AWS GenAI CI/CD Suite?
Setting up AWS GenAI CI/CD Suite involves configuring IAM to trust GitHub, setting up AWS credentials, cloning and publishing the action, and configuring your GitHub workflow. Detailed steps are provided in the Quick Start guide.
What AWS services does AWS GenAI CI/CD Suite use?
AWS GenAI CI/CD Suite primarily uses AWS Bedrock API for its AI-driven features. It also requires proper IAM configuration for secure access to AWS services.