diff --git a/.circleci/config.yml b/.circleci/config.yml index 461688f..928f67b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -102,6 +102,27 @@ jobs: docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:$CIRCLE_BUILD_NUM docker push $DOCKER_HUB_USER_ID/$DOCKER_HUB_IMAGE:latest + deploy-heroku: + <<: *shared-config + steps: + - setup_dependencies + -docker: + - image: buildpack-deps:trusty + steps: + - checkout + - run: + name: Heroku Deploy + command: git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD:main + - run: + name: Smoke Test + command: | + HTTPCODE=`curl -s -o /dev/null -w "%{http_code}" https://$HEROKU_APP_NAME.herokuapp.com/` + if [ "$HTTPCODE" -ne 200 ];then + echo "heroku app not responding, failing deploy" + exit 1 + fi + + # --- Workflow definition --- # workflows: @@ -127,3 +148,12 @@ workflows: branches: only: - main + - deploy-heroku: + requires: + - test + - test-e2e + - lint +# filters: +# branches: +# only: +# - main diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..36c6b6b --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: yarn start:prod