Clean up install/exec
continuous-integration/drone/push Build is failing Details

pictuga 2021-12-25 12:38:53 +01:00
parent 3bcb8db974
commit 9ea3a2f344
4 changed files with 43 additions and 37 deletions

View File

@ -24,6 +24,36 @@ steps:
password: password:
from_secret: pypi_pwd 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: /home/ubuntu
- 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-*.tar.gz[full]
- sudo mv morss-helper /usr/bin/local/morss-helper
- sudo rm /root/morss-*.tar.gz morss-helper
- sudo morss-helper reload
trigger: trigger:
branch: branch:
- master - master
@ -60,37 +90,3 @@ trigger:
depends_on: depends_on:
- test - 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

View File

@ -10,5 +10,7 @@ RUN set -ex; \
USER 1000:1000 USER 1000:1000
ENTRYPOINT ["/bin/sh", "/app/docker-entry.sh"] ENTRYPOINT ["/bin/sh", "/app/morss-helper"]
CMD ["run"] CMD ["run"]
HEALTHCHECK CMD python -m morss.crawler http://localhost:${PORT:-8000}/ > /dev/null 2>&1

View File

@ -163,12 +163,12 @@ write_files:
content: | content: |
DEBUG=1 DEBUG=1
CACHE=diskcache CACHE=diskcache
CACHE_SIZE=1073741824 CACHE_SIZE=1073741824 # 1GiB
- path: /var/lib/cloud/scripts/per-boot/morss.sh - path: /var/lib/cloud/scripts/per-boot/morss.sh
permissions: 744 permissions: 744
content: | content: |
#!/bin/sh #!/bin/sh
gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - --daemon morss /usr/bin/local/morss-helper
runcmd: runcmd:
- source /etc/environment - source /etc/environment
@ -176,6 +176,8 @@ runcmd:
- iptables -I INPUT 6 -m state --state NEW -p tcp --dport ${PORT:-8000} -j ACCEPT - iptables -I INPUT 6 -m state --state NEW -p tcp --dport ${PORT:-8000} -j ACCEPT
- netfilter-persistent save - netfilter-persistent save
- pip install morss[full] - pip install morss[full]
- python -m morss.crawler https://git.pictuga.com/pictuga/morss/raw/branch/master/morss-helper > /usr/bin/local/morss-helper
- chmod +x /usr/bin/local/morss-helper
``` ```
## Run ## Run

6
docker-entry.sh → morss-helper 100644 → 100755
View File

@ -6,6 +6,12 @@ if [ "$1" = "sh" ] || [ "$1" = "bash" ]; then
elif [ -z "$1" ] || [ "$@" = "run" ]; then elif [ -z "$1" ] || [ "$@" = "run" ]; then
gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - morss 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 else
morss $@ morss $@