add DEPLOY scripts

This commit is contained in:
Alexander Popov 2022-08-03 02:04:26 +03:00
parent 0a81354a78
commit e0d13b1fe6
Signed by: iiiypuk
GPG Key ID: D8C9B59A9F04A70C
3 changed files with 65 additions and 0 deletions

12
README.md Normal file
View File

@ -0,0 +1,12 @@
## Deploy
Ой, это ебаный костыль :)
```sh
deploy.py
```
Python скрипт, который запускает Hugo, создаёт архив, загружает его на сервер,
и дёргает на сервере PHP скрипт, который распаковывает `.zip` архив.
**NOTE:** Потом нужно перенести все картинки в `/static/images/` и загружать их отдельно.

42
deploy.py Executable file
View File

@ -0,0 +1,42 @@
#!/usr/bin/env python3
import os
import sys
import shutil
import uuid
import ftplib
import urllib.request
HOST = 'blog.iiiypuk.me'
USER = 'alpopov94_blog-iiiypuk-me'
PASSWORD = sys.argv[1]
def make_zip_www():
archive_name = str(uuid.uuid4()).replace('-', '')
shutil.make_archive(archive_name, 'zip', './public')
return '{0}.zip'.format(archive_name)
def upload_by_ftps(archive):
ftp = ftplib.FTP_TLS(host=HOST, user=USER, passwd=PASSWORD)
# ftp.delete('posts')
if ftp.pwd() == '/':
with open(archive, 'rb') as f:
ftp.storbinary('STOR {0}'.format(archive), f)
os.remove(archive)
def get_unpack(archive):
f = urllib.request.urlopen('https://blog.iiiypuk.me/unpack.php?f={0}'.format(archive))
f.read()
if __name__ == '__main__':
os.system('hugo &> /dev/null')
archive = make_zip_www() # ..
upload_by_ftps(archive) # ..
get_unpack(archive) # ..

11
unpack.php Normal file
View File

@ -0,0 +1,11 @@
<?php
$zipFile = $_GET['f'];
$zip = new ZipArchive;
if ($zip->open($zipFile) === TRUE) {
$zip->extractTo('.');
$zip->close();
unlink(zipFile);
}
?>