Это короткий рабочий пример, в котором используется виртуальная среда Python3, а не пакет virtualenv.Чтобы это работало, вам нужно установить AWS_ACCESS_KEY_ID
и AWS_SECRET_ACCESS_KEY
в качестве переменных env в веб-интерфейсе CircleCI.
version: 2
jobs:
build:
docker:
- image: circleci/python:3.6.1
working_directory: ~/app
steps:
- checkout
- run:
name: install dependencies
command: |
python3 -m venv ~/venv
. ~/venv/bin/activate
pip install -r requirements.txt
- deploy:
name: deploy
command: |
. ~/venv/bin/activate
# set aws credentials
mkdir -p ~/.aws
echo -e "[default]" >> ~/.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/credentialstrouble
# try to update, if the command fails do the initial deploy
zappa update dev || zappa deploy dev;
Обратите внимание, что я использую образ CircleCI python 3.6.1, у меня были некоторые незначительныепроблема с 3.6.9
Полный пример с кэшированием зависимостей, запуском набора тестов, тестированием, если пакет может быть создан, развертыванием в среде testing и production здесь: https://github.com/mislavcimpersak/xkcd-excuse-generator/blob/master/.circleci/config.yml