You can define which profile to use on your own using Zappa's setting:
"profile_name": "your-profile-name", // AWS profile credentials to use. Default 'default'. Removing this setting will use the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables instead.
But in your CI you first have to create your AWS config file and populate it with your profile from environment variables that are set in your CI's web interface.
In CircleCI (same would be done for TravisCI) I'm doing it like this for my mislavcimpersak
profile:
mkdir -p ~/.aws
echo -e "[mislavcimpersak]" >> ~/.aws/credentials
echo -e "aws_access_key_id = "$AWS_ACCESS_KEY_ID >> ~/.aws/credentials
echo -e "aws_secret_access_key = "$AWS_SECRET_ACCESS_KEY >> ~/.aws/credentials
Complete working CircleCI config file is available in my repo:
https://github.com/mislavcimpersak/xkcd-excuse-generator/blob/master/.circleci/config.yml#L58-L60
And also complete working TravisCI config file:
https://github.com/mislavcimpersak/xkcd-excuse-generator/blob/feature/travis-ci/.travis.yml#L25-L29
Also, as it says in Zappa's docs:
Removing this setting will use the AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY environment variables instead
So you can remove "profile_name": "default"
from your zappa_settings.json and set AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
in your CI's web interface. Zappa should be able to use those.