Use sup tool for deploy
This commit is contained in:
parent
e88005be78
commit
5e4fce3bec
@ -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
54
Supfile
Normal 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
|
Loading…
Reference in New Issue
Block a user