Use sup tool for deploy
This commit is contained in:
parent
e88005be78
commit
5e4fce3bec
@ -51,8 +51,12 @@ jobs:
|
||||
- add_ssh_keys
|
||||
- run: apk add -u openssh-client
|
||||
- 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"
|
||||
- run: cat docker/deploy-prod | ssh "dayoff@$TARGET_HOST"
|
||||
# Prepare sup deploy tool
|
||||
- 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:
|
||||
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