Chalice is a microframework developed by Amazon for quickly creating and deploying serverless applications in Python.
Chalice provides cli command
deploy to deploy from local system.
Chalice also provides cli command
generate-pipeline command to generate CloudFormation template. This template is useful to automatically generate several resources required for AWS pipeline.
This by default uses CodeCommit repository for hosting code. We can use GitHub repo as a source instead of CodeCommit.
Chalice by default provides a build file to package code and push it to S3. In the deploy step, it uses this artifact to deploy the code.
We can use a custom buildpsec file to directly deploy the code from build step.
version: 0.1 phases: install: commands: - echo Entering the install phase - echo Installing dependencies - sudo pip install --upgrade awscli - aws --version - sudo pip install chalice - sudo pip install -r requirements.txt build: commands: - echo entered the build phase - echo Build started on `date` - chalice deploy --stage staging
This buildspec file install requirements and deploys chalice app to staging. We can add one more build step to deploy it production after manual intervention.
We have seen how to setup continous deployment for chalice application with GitHub and AWS CodePipeline.