Use sup tool for deploy

This commit is contained in:
Anton Vakhrushev 2020-03-14 20:24:44 +03:00
parent e88005be78
commit 5e4fce3bec
2 changed files with 60 additions and 2 deletions

View File

@ -51,8 +51,12 @@ jobs:
- add_ssh_keys - add_ssh_keys
- run: apk add -u openssh-client - run: apk add -u openssh-client
- run: ssh-keyscan "$TARGET_HOST" >> ~/.ssh/known_hosts - run: ssh-keyscan "$TARGET_HOST" >> ~/.ssh/known_hosts
- run: echo "$YANDEX_CLOUD_DOCKER_REGISTRY_KEY" | ssh "dayoff@$TARGET_HOST" -T "cat > /home/dayoff/yandex_cloud_docker_registry_key.json" # Prepare sup deploy tool
- run: cat docker/deploy-prod | ssh "dayoff@$TARGET_HOST" - run: wget https://github.com/pressly/sup/releases/download/v0.5.3/sup-linux64 -O sup
- run: chmod +x ./sup
# Deploy app
- run: echo "$YANDEX_CLOUD_DOCKER_REGISTRY_KEY" > registry_key.json
- run: ./sup -env REG_AUTH_FILE=registry_key.json -debug production deploy
workflows: workflows:
version: 2 version: 2

54
Supfile Normal file
View File

@ -0,0 +1,54 @@
---
version: 0.4
networks:
production:
hosts:
- dayoff@vakhrushev.me
env:
HOME_DIR: /home/dayoff
IMAGE: cr.yandex/crplfk0168i4o8kd7ade/dayoff
DATA_PATH: $HOME_DIR/data
CONTAINER_NAME: dayoff-server
REGISTRY_KEY_FILE: $HOME_DIR/yandex_registry_key.json
commands:
make-data-dir:
run: mkdir -p $DATA_PATH
copy-yandex-registry-key:
local: scp $REG_AUTH_FILE dayoff@vakhrushev.me:$REGISTRY_KEY_FILE
docker-login:
run: cat $REGISTRY_KEY_FILE | docker login --username json_key --password-stdin cr.yandex
docker-reload-container:
run: >
source $HOME_DIR/.env ;
docker pull "$IMAGE" ;
docker stop "$CONTAINER_NAME" || true ;
docker rm "$CONTAINER_NAME" || true ;
docker run \
--init \
--detach \
--name "$CONTAINER_NAME" \
--restart=unless-stopped \
-u "$(id -u):$(id -g)" \
-p "$WEB_SERVER_PORT:3000" \
-v "$DATA_PATH:/opt/dayoff" \
$IMAGE
clear:
run: rm $REGISTRY_KEY_FILE
targets:
deploy:
- make-data-dir
- copy-yandex-registry-key
- docker-login
- docker-reload-container
- clear