buildspec-docker.yml
version: 0.2
env:
variables:
AWS_REGION: "REGION"
ECR_REPO_NAME: "ECR_REPO_NAME"
AWS_ACCOUNT_ID: "AWS_ACCOUNT_ID"
phases:
install:
runtime-versions:
python: 3.8
pre_build:
commands:
- echo Logging in to Amazon ECR...
- aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com
build:
commands:
- python3 -m compileall src/app.py
- mv src/__pycache__/*.pyc ./app.pyc
- time=$(date -d "+9 hours" +'%y%m%d%H%M%S')
- docker build -t $ECR_REPO_NAME .
- docker tag $ECR_REPO_NAME:latest $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$ECR_REPO_NAME:$time
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$ECR_REPO_NAME:$time
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- app.pyc
Dockerfile
FROM python:3.8-alpine
WORKDIR /app
COPY app.pyc .
RUN pip3 install --no-cache-dir flask && apk add --no-cache curl && rm -rf /root/.cache/
EXPOSE 80
CMD ["flask", "run", "host=0.0.0.0", "port=80"]
Git Repo Push

Name : wsi-api-release

Github Repo 선택 후 소스 버전 release 입력

아마존 리눅스 선택 후 이미지 버전 5.0 선택 IAM Role : wsi-api-release-role

환경변수 입력
