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

master
pictuga 2021-12-25 18:21:55 +01:00
parent 3bcb8db974
commit e7578e859a
4 changed files with 46 additions and 37 deletions

View File

@ -23,6 +23,39 @@ steps:
from_secret: pypi_user
password:
from_secret: pypi_pwd
commands:
- /bin/drone-pypi
- cp dist/morss-*.tar.gz dist/morss.tar.gz
- 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 dist/morss.tar.gz[full]
- sudo mv morss-helper /usr/local/bin/morss-helper
- sudo rm -r dist
- sudo morss-helper reload
trigger:
branch:
@ -60,37 +93,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

View File

@ -10,5 +10,7 @@ RUN set -ex; \
USER 1000:1000
ENTRYPOINT ["/bin/sh", "/app/docker-entry.sh"]
ENTRYPOINT ["/bin/sh", "/app/morss-helper"]
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: |
DEBUG=1
CACHE=diskcache
CACHE_SIZE=1073741824
CACHE_SIZE=1073741824 # 1GiB
- path: /var/lib/cloud/scripts/per-boot/morss.sh
permissions: 744
content: |
#!/bin/sh
gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - --daemon morss
/usr/local/bin/morss-helper
runcmd:
- source /etc/environment
@ -176,6 +176,8 @@ runcmd:
- iptables -I INPUT 6 -m state --state NEW -p tcp --dport ${PORT:-8000} -j ACCEPT
- netfilter-persistent save
- pip install morss[full]
- python -m morss.crawler https://git.pictuga.com/pictuga/morss/raw/branch/master/morss-helper > /usr/local/bin/morss-helper
- chmod +x /usr/local/bin/morss-helper
```
## 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
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 $@