|
|
@ -44,6 +44,14 @@ executors: |
|
|
POSTGRES_DB: myUsr |
|
|
POSTGRES_DB: myUsr |
|
|
POSTGRES_PASSWORD: somePwd |
|
|
POSTGRES_PASSWORD: somePwd |
|
|
|
|
|
|
|
|
|
|
|
executors: |
|
|
|
|
|
dockerhub-publisher: |
|
|
|
|
|
environment: |
|
|
|
|
|
IMAGE_NAME: morganlmd/devops-tp-final-back-docker |
|
|
|
|
|
IMAGE_NAME_TMP: app |
|
|
|
|
|
docker: |
|
|
|
|
|
- image: circleci/buildpack-deps:stretch |
|
|
|
|
|
|
|
|
jobs: |
|
|
jobs: |
|
|
initial-build: |
|
|
initial-build: |
|
|
executor: docker-python-executor |
|
|
executor: docker-python-executor |
|
|
@ -72,6 +80,25 @@ jobs: |
|
|
# flask test |
|
|
# flask test |
|
|
- save_cache_cmd |
|
|
- save_cache_cmd |
|
|
|
|
|
|
|
|
|
|
|
dockerhub-publishing: |
|
|
|
|
|
working_directory: /dockerapp |
|
|
|
|
|
executor: dockerhub-publisher |
|
|
|
|
|
steps: |
|
|
|
|
|
- checkout |
|
|
|
|
|
- setup_remote_docker |
|
|
|
|
|
- run: |
|
|
|
|
|
name: Building docker image |
|
|
|
|
|
command: | |
|
|
|
|
|
docker build --cache-from=app -t app . |
|
|
|
|
|
- deploy: |
|
|
|
|
|
name: publishing docker image to dockerhub |
|
|
|
|
|
command: | |
|
|
|
|
|
docker login -e $DOCKERHUB_EMAIL -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD |
|
|
|
|
|
docker tag $IMAGE_NAME_TMP $IMAGE_NAME:$CIRCLE_BUILD_NUM |
|
|
|
|
|
docker tag $IMAGE_NAME_TMP $IMAGE_NAME:latest |
|
|
|
|
|
docker push $IMAGE_NAME:$CIRCLE_BUILD_NUM |
|
|
|
|
|
docker push $IMAGE_NAME:latest |
|
|
|
|
|
|
|
|
workflows: |
|
|
workflows: |
|
|
version: 2 |
|
|
version: 2 |
|
|
build-test-back-and-db: |
|
|
build-test-back-and-db: |
|
|
@ -80,3 +107,7 @@ workflows: |
|
|
- setup-and-test-db: |
|
|
- setup-and-test-db: |
|
|
requires: |
|
|
requires: |
|
|
- initial-build |
|
|
- initial-build |
|
|
|
|
|
- docker-build: |
|
|
|
|
|
requires: |
|
|
|
|
|
- initial-build |
|
|
|
|
|
- setup-and-test-db |