diff --git a/.drone.yml b/.drone.yml index 4811567..b90043a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -24,6 +24,37 @@ steps: password: from_secret: pypi_pwd +- name: push + image: appleboy/drone-scp + settings: + host: + from_secret: ssh_host + username: + from_secret: ssh_user + key: + from_secret: ssh_key + source: + - dist/morss-*.tar.gz + - morss-helper + target: + - /root + - /usr/bin/local + +- name: deploy + image: appleboy/drone-ssh + settings: + host: + from_secret: ssh_host + username: + from_secret: ssh_user + key: + from_secret: ssh_key + script_stop: true + script: + - sudo pip install --upgrade /root/morss-*.tar.gz[full] + - sudo rm /root/morss-*.tar.gz + - sudo morss-helper reload + trigger: branch: - master @@ -60,37 +91,3 @@ trigger: depends_on: - test - ---- -kind: pipeline -name: ssh - -clone: - disable: true - -steps: -- name: deploy - image: appleboy/drone-ssh - settings: - host: - from_secret: ssh_host - username: - from_secret: ssh_user - key: - from_secret: ssh_key - script_stop: true - script: - - sudo pip install --upgrade morss[full] - - "pid=$$(sudo pidof 'gunicorn: master [morss]')" - - sudo kill -s USR2 $$pid - - sudo kill -s WINCH $$pid - - sudo kill -s TERM $$pid - -trigger: - branch: - - master - event: - - push - -depends_on: -- python diff --git a/Dockerfile b/Dockerfile index 1aea11a..eb6bb29 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,5 +10,5 @@ RUN set -ex; \ USER 1000:1000 -ENTRYPOINT ["/bin/sh", "/app/docker-entry.sh"] +ENTRYPOINT ["/bin/sh", "/app/morss-helper"] CMD ["run"] diff --git a/README.md b/README.md index 094359f..91e0ee4 100644 --- a/README.md +++ b/README.md @@ -168,7 +168,7 @@ write_files: permissions: 744 content: | #!/bin/sh - gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - --daemon morss + /app/morss-helper runcmd: - source /etc/environment diff --git a/docker-entry.sh b/morss-helper old mode 100644 new mode 100755 similarity index 60% rename from docker-entry.sh rename to morss-helper index 666d80b..ea2e349 --- a/docker-entry.sh +++ b/morss-helper @@ -6,6 +6,12 @@ if [ "$1" = "sh" ] || [ "$1" = "bash" ]; then elif [ -z "$1" ] || [ "$@" = "run" ]; then gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - morss +elif [ "$@" = "reload" ]; then + pid=$(sudo pidof 'gunicorn: master [morss]') + kill -s USR2 $pid + kill -s WINCH $pid + kill -s TERM $pid + else morss $@