Seed is a fully managed CI/CD pipeline for Serverless apps on AWS. Simply add your Git repository and IAM credentials and your entire team can
git push to deploy updates to your Serverless app.
Seed currently supports the following:
- Serverless Framework projects deployed to AWS
- AWS CDK apps deployed with SST
- Built with Node.js, Python, .NET Core, Go, Ruby, and Java.
- Hosted on GitHub, GitHub Enterprise, Bitbucket, GitLab, and GitLab Self-Managed.
Support for other platforms and repositories are coming soon. Send us an email to let us know what you would like us to support next.
Seed needs very little configuration on your part and there is no CLI to install. But to add your project you need to:
- Add your project repository with your Git provider
- Create an IAM Role for your AWS account
To start with, Seed will ask you to create a new app by adding your project from your repository.
Once you select your Git provider (GitHub for example), you’ll be asked to login to your Github.
Here you’ll be asked to authorize Seed. Make sure to select the Repositories and Organization access you need.
Once authorized, you can select your repo. Seed will look for all the
serverless.yml files in your repo.
If you are unable to find your repo, it might be because Seed doesn’t have the permissions to access your repo. You can read about how to fix this here.
If detected, you can select to add a service. You can always add other services later.
If the services could not be detected, you can add it manually.
Here we are assuming that you are trying to add a Serverless Framework service. If instead you want to add an SST service, make sure to set it in the Service Type dropdown.
Next, Seed will create a dev and prod stage (or environment) for your app. Note that, you’ll need to change the names to match the stage names you are using to deploy your app. This is important because Seed will deploy your app using the
serverless deploy --stage $STAGE_NAME command. Here
$STAGE_NAME is the name.
Seed deploys to your environments using the stage name.
You also need to configure the stage with the AWS IAM credentials needed to deploy to it. By default, Seed will use the same credentials to deploy to production. You can change this if your production environment is in a different AWS account.
If you’ve added an app before, you have the option of configuring your new app with the settings of an existing app. Hit the Copy Settings tab.
Here you can select one of your existing apps.
A personal app can only inherit the settings from another personal app. And the same applies to organization apps.
Next, let’s look at how to create an AWS IAM Role.