diff --git a/.gitignore b/.gitignore index 02792fa..09d7dfe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ vendor go-mtg-vk -*/.swp +*.swp hosts diff --git a/deploy.sh b/deploy.sh index f9f7434..db47720 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,28 +1,29 @@ #!/bin/bash +TEST_IMAGE_NAME="go_mtg_vk_test_image" +PROD_IMAGE_NAME="go_mtg_vk_prod_image" if [[ $1 = "test" ]] then TEST_NETWORK_NAME="go_mtg_vk_test_network" - sudo docker network create $TEST_NETWORK_NAME || true + sudo docker network create $TEST_NETWORK_NAME TEST_REDIS_NAME="go_mtg_vk_test_redis" sudo docker run -d --rm --name $TEST_REDIS_NAME --network $TEST_NETWORK_NAME --net-alias redis redis - TEST_IMAGE_NAME="go_mtg_vk_test_image" + sudo docker rmi -f $TEST_IMAGE_NAME sudo docker build -t $TEST_IMAGE_NAME . TEST_CONTAINER_NAME="go_mtg_vk_test_container" sudo docker run --rm --name $TEST_CONTAINER_NAME --network $TEST_NETWORK_NAME -e MODE="test" -e VK_TOKEN=$VK_TOKEN -e VK_SECRET_KEY=$VK_SECRET_KEY -e VK_GROUP_ID=$VK_GROUP_ID -e VK_CONFIRMATION_STRING=$VK_CONFIRMATION_STRING $TEST_IMAGE_NAME EXIT_CODE=$(sudo docker inspect $TEST_CONTAINER_NAME --format "{{.State.ExitCode}}") sudo docker rm -f $TEST_REDIS_NAME - sudo docker image rm -f $TEST_IMAGE_NAME exit $EXIT_CODE elif [[ $1 = "prod" ]] then PROD_NETWORK_NAME="go_mtg_vk_prod_network" - sudo docker network create $PROD_NETWORK_NAME || true + sudo docker network create $PROD_NETWORK_NAME PROD_REDIS_NAME="go_mtg_vk_prod_redis" sudo docker run -d --net-alias redis --restart always --network $PROD_NETWORK_NAME --name $PROD_REDIS_NAME redis - PROD_IMAGE_NAME="go_mtg_vk_prod_image" - sudo docker build -t $PROD_IMAGE_NAME . + sudo docker tag $TEST_IMAGE_NAME $PROD_IMAGE_NAME + sudo docker rmi $TEST_IMAGE_NAME PROD_CONTAINER_NAME="go_mtg_vk_prod_container" - sudo docker stop $PROD_CONTAINER_NAME || true - sudo docker rm $PROD_CONTAINER_NAME || true + sudo docker stop $PROD_CONTAINER_NAME + sudo docker rm $PROD_CONTAINER_NAME sudo docker run -d -p 80:80 --network $PROD_NETWORK_NAME --restart always --name $PROD_CONTAINER_NAME -e MODE="prod" -e VK_TOKEN=$VK_TOKEN -e VK_SECRET_KEY=$VK_SECRET_KEY -e VK_GROUP_ID=$VK_GROUP_ID -e VK_CONFIRMATION_STRING=$VK_CONFIRMATION_STRING $PROD_IMAGE_NAME fi