Branch
Learn how to create, update, and manage AWS Amplify Branchs using Alchemy Cloud Control.
The Branch resource lets you manage AWS Amplify Branchs for your applications, allowing for features such as preview environments, performance modes, and more.
Minimal Example
Section titled “Minimal Example”Create a basic Amplify Branch with required properties and some common optional settings.
import AWS from "alchemy/aws/control";
const amplifyBranch = await AWS.Amplify.Branch("mainBranch", { AppId: "your-amplify-app-id", BranchName: "main", EnableAutoBuild: true, EnablePerformanceMode: false, Description: "Main branch for production deployment"});
Advanced Configuration
Section titled “Advanced Configuration”Configure an Amplify Branch with advanced settings, including environment variables and pull request previews.
const featureBranch = await AWS.Amplify.Branch("featureBranch", { AppId: "your-amplify-app-id", BranchName: "feature/new-feature", EnablePullRequestPreview: true, PullRequestEnvironmentName: "feature-env", EnvironmentVariables: [ { Name: "API_URL", Value: "https://api.example.com" }, { Name: "NODE_ENV", Value: "development" } ], BasicAuthConfig: { Username: "admin", Password: "securePassword123" }});
Custom Build Specifications
Section titled “Custom Build Specifications”Set a custom build specification for your Amplify Branch to control the build process.
const customBuildBranch = await AWS.Amplify.Branch("customBuildBranch", { AppId: "your-amplify-app-id", BranchName: "custom-build", BuildSpec: ` version: 0.1 frontend: phases: preBuild: commands: - npm install build: commands: - npm run build artifacts: baseDirectory: build files: - '**/*' cache: paths: - node_modules/**/* `});
Performance Optimizations
Section titled “Performance Optimizations”Create an Amplify Branch optimized for performance with skew protection enabled.
const optimizedBranch = await AWS.Amplify.Branch("optimizedBranch", { AppId: "your-amplify-app-id", BranchName: "optimized", EnableSkewProtection: true, EnableAutoBuild: true, EnablePerformanceMode: true, Tags: [ { Key: "Environment", Value: "Production" }, { Key: "Team", Value: "Development" } ]});