Front-End Web & Mobile

Simplifying Multi-App Management in AWS Amplify Hosting

AWS Amplify Hosting has now made it possible to connect many more Amplify apps to a single repository. This change improves the way developers can integrate with Git providers which is especially beneficial for monorepo architectures. Amplify now uses a single webhook per repository for all associated apps, streamlining the development workflow. For specific limit details, please refer to our documentation.

Previously, Amplify users were constrained by the webhook limits provided by Git providers. As Amplify created a new webhook for each app associated with a repository, users with multiple Amplify apps linked to a single repository could reach these limits quickily, preventing them from adding more apps. This was particularly challenging for teams working with monorepos, where multiple projects (and thus, multiple Amplify apps) exist within a single repository.

While the specific number of webhooks allowed varies by Git provider, these limits presented an obstacle for teams looking to scale their projects or work with complex repository structures.

  • GitHub has a webhook limit of 20
  • GitLab has webhook limit of 100
  • BitBucket has webhook limit of 50

Unified Webhooks

Unified webhooks solve this pain point by consolidating all Amplify-related webhooks into a single, comprehensive webhook for your repository. This approach simplifies repository management while ensuring that all associated Amplify apps receive updates and triggers without being constrained by webhook restrictions.

Key Benefits

  • Overcome Git Provider Limitations: Remove current webhook constraints, allowing you to connect as many Amplify apps as needed to a single repository.
  • Enhanced Monorepo Support: Gain more flexibility and efficiency when working with monorepo structures, where multiple projects share a single repository.
  • Simplified Management: Manage multiple Amplify apps with a single repository webhook, reducing complexity and potential points of failure.
  • Improved Workflow Integration: Free up webhook slots for other essential workflows in your development process.

Getting Started with Unified Webhooks

For New Apps
Deploy a web app with Amplify Hosting. The unified webhook feature will be automatically implemented for your repository.

For Existing Amplify Users
To take advantage of this new feature, you’ll need to reconnect your repository to your Amplify app. Here’s how:

  1. Navigate to your Amplify app in the AWS Management Console.
  2. Locate the repository settings for your app.
  3. Click on the “Reconnect” button next to your repository information.
  4. Confirm the action to replace existing webhooks with the new unified webhook.

Walkthrough

Here is an example of a current repository with two Amplify apps switching to use the new unified webhook.

Screenshot of the GitHub webhook settings

Each webhook looks like

GitHub Webhook payload settings

Then go to your Amplify Console, find the Reconnect Repository button in App settings → Branch settings

Screenshot of Amplify console and the branch settings area

Click the Configure GitHub App and Complete installation

Screenshot of Amplify Console install github app

After a few moments, you will see the repository is switched to the unified webhook.

Screenshot of GitHub webhook settings to see the updated webhook from amplify

You are all set now. Any new amplify app connected to this repository will use the same unified webhook here.

Important Considerations

Webhook Limit During Migration: If you’ve already reached the maximum number of webhooks allowed by your Git provider, the automatic migration may not work. In this case, you might need to manually remove at least one existing webhook before reconnecting.

Regional Operations: All operations, including the webhook migration, are region-based. This means the migration will only occur for the regional webhooks where you reconnect your Amplify app.

Conclusion

The introduction of unified webhooks in AWS Amplify Hosting simplifies repository management and enhances support for complex project structures like monorepos. By reducing webhook overhead and streamlining the connection between your git repository and Amplify apps, we’re enabling developers to focus more on building great applications and less on managing infrastructure limitations.

We’re excited to see how this feature will improve your development workflow, especially for those working with large, complex repositories. Deploy your Next.js, Nuxt, React, Angular, Vue, or other frontend apps in the Amplify Console, and join our community on Discord to share your thoughts and experiences!

About the Authors

Matt's headshot with a rock and forest behind himMatt Auerbach, Senior Product Manager, Amplify Hosting

Matt Auerbach is a NYC-based Product Manager on the AWS Amplify Team. He educates developers regarding products and offerings, and acts as the primary point of contact for assistance and feedback. Matt is a mild-mannered programmer who enjoys using technology to solve problems and making people’s lives easier. B night, however…well he does pretty much the same thing. You can find Matt on Twitter @mauerbac. He previously worked in Developer Relations at Twitch, Optimizely & Twilio.

linson headshot with a national park in the backgroundLinsong Wang, Software Development Engineer, Amplify Hosting

Linsong builds features that make it easier for customers to host front-end web applications backed by the reliability and convenience of AWS. In his free time, Linsong enjoys exploring cooking recipes, playing piano, and building life improvement prototype