Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to deploy to aws using ci/cd for zappa(python)

I'm using zappa to deploy on aws. And I wanted to implement CI/CD on AWS. So, I created a pipeline and successfully did Aws COMMIT and AWS BUILD.

I'm unable to deploy the same using AWS CODE DEPLOY.

The Buildspec.yaml looks like this:

version: 0.2


    phases:
      install:
        commands:
          - echo Setting up virtualenv
          - python -m venv venv
          - source venv/bin/activate
          - echo Installing requirements from file
          - pip install -r requirements.txt
      build:
        commands:
          - echo Build started on `date`
          - echo Building and running tests
          - python tests.py
          - flask db upgrade
      post_build:
        commands:
          - echo Build completed on `date`
          - echo Starting deployment
          - zappa update dev
          - echo Deployment completed

How should I execute zappa deploy or zappa update on AWS?

I'm not sure how to add create appspec.yaml file.

Please HELP! Stuck!!

like image 593
jason Avatar asked Feb 18 '26 00:02

jason


1 Answers

Here's a buildspec.yml file that I use. You could adjust this to suit your needs (for example, including the DB upgrade command).

version: 0.2

phases:
  install:
    commands:
      - mkdir /tmp/src/
      - mv $CODEBUILD_SRC_DIR/* /tmp/src/
      - cd /tmp/src/
      - python3 -m venv docker_env && source docker_env/bin/activate && pip install --upgrade pip==9.0.3 && pip install -r requirements.txt && zappa update production && deactivate && rm -rf docker_env
  post_build:
    commands:
      - cd $CODEBUILD_SRC_DIR
      - rm -rf /tmp/src/
      - echo Build completed on `date`

Note that this is using the Docker image danielwhatmuff/zappa:python3.6 in CodeBuild. I use this image as it's based on AWS Lambda and has been tuned for Zappa.

like image 124
Matt Healy Avatar answered Feb 19 '26 23:02

Matt Healy



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!